Skip to content

Commit

Permalink
Revert "drm/edid: Add option to report basic audio support with a gen…
Browse files Browse the repository at this point in the history
…eric edid"

This reverts commit 2bcf744.
  • Loading branch information
popcornmix committed Sep 20, 2023
1 parent fad5893 commit df4d584
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 54 deletions.
16 changes: 0 additions & 16 deletions drivers/gpu/drm/drm_edid.c
Original file line number Diff line number Diff line change
Expand Up @@ -2090,22 +2090,6 @@ static struct edid *edid_filter_invalid_blocks(struct edid *edid,
return new;
}

/*
* add a CTA extension (block) comtaining audio support
* fix up the base extension to include the extra
* extension and report as digital (required for audio)
* and fix up checksums.
*/
void drm_edid_add_audio_extension(void *block)
{
struct edid *edid = block;
edid->input = DRM_EDID_INPUT_DIGITAL;
edid->extensions++;
edid->checksum = edid_block_compute_checksum(edid);
edid = block + EDID_LENGTH;
edid->checksum = edid_block_compute_checksum(edid);
}

#define DDC_SEGMENT_ADDR 0x30
/**
* drm_do_probe_ddc_edid() - get EDID information via I2C
Expand Down
36 changes: 0 additions & 36 deletions drivers/gpu/drm/drm_edid_load.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ module_param_string(edid_firmware, edid_firmware, sizeof(edid_firmware), 0644);
MODULE_PARM_DESC(edid_firmware, "Do not probe monitor, use specified EDID blob "
"from built-in data or /lib/firmware instead. ");

static bool support_audio;
module_param(support_audio, bool, 0400);

/* Use only for backward compatibility with drm_kms_helper.edid_firmware */
int __drm_set_edid_firmware_path(const char *path)
{
Expand Down Expand Up @@ -170,29 +167,12 @@ static int edid_size(const u8 *edid, int data_size)
return (edid[0x7e] + 1) * EDID_LENGTH;
}

/* Minimal edid extension block that reports basic audio support */
static const u8 generic_edid_audio[] = {
0x02, /* CTA extension block */
0x03, /* version */
0x12, /* 18 bytes are valid */
0xc0, /* underscan | basic audio */
0x23, /* Audio Data Block, length 3 */
0x09, /* Linear PCM, 2 channel */
0x07, /* Supported sample rates (kHz): 48 44.1 32 */
0x07, /* Supported sample sizes (bits): 24 20 16 */
0x83, /* Speaker Allocation Data Block, length 3 */
0x01, 0x00, 0x00, /* FL/FR */
0x65, /* Vendor-Specific Data Block, length 3 */
0x03, 0x0c, 0x00, 0x00, 0x00, /* HDMI PA:0.0.0.0 */
};

static void *edid_load(struct drm_connector *connector, const char *name,
const char *connector_name)
{
const struct firmware *fw = NULL;
const u8 *fwdata;
u8 *edid;
u8 *fwdata2 = NULL;
int fwsize, builtin;
int i, valid_extensions = 0;
bool print_bad_edid = !connector->bad_edid_counter || drm_debug_enabled(DRM_UT_KMS);
Expand All @@ -201,20 +181,6 @@ static void *edid_load(struct drm_connector *connector, const char *name,
if (builtin >= 0) {
fwdata = generic_edid[builtin];
fwsize = sizeof(generic_edid[builtin]);
if (support_audio) {
fwdata2 = kzalloc(fwsize + EDID_LENGTH, GFP_KERNEL);
if (!fwdata2) {
drm_err(connector->dev,
"[CONNECTOR:%d:%s] Failed to allocate combined EDID firmware \"%s\"\n",
connector->base.id, connector->name, name);
return ERR_PTR(-ENOMEM);
}
memcpy(fwdata2, fwdata, fwsize);
memcpy(fwdata2 + fwsize, generic_edid_audio, sizeof generic_edid_audio);
drm_edid_add_audio_extension(fwdata2);
fwsize += EDID_LENGTH;
fwdata = fwdata2;
}
} else {
struct platform_device *pdev;
int err;
Expand Down Expand Up @@ -294,8 +260,6 @@ static void *edid_load(struct drm_connector *connector, const char *name,

out:
release_firmware(fw);
if (fwdata2)
kfree(fwdata2);
return edid;
}

Expand Down
2 changes: 0 additions & 2 deletions include/drm/drm_edid.h
Original file line number Diff line number Diff line change
Expand Up @@ -614,6 +614,4 @@ int drm_edid_connector_update(struct drm_connector *connector,
const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
int ext_id, int *ext_index);

void drm_edid_add_audio_extension(void *block);

#endif /* __DRM_EDID_H__ */

0 comments on commit df4d584

Please sign in to comment.