[PATCH v2] omapdrm: hdmi4: Correct the SoC revision matching
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Nov 21 07:04:48 UTC 2017
Hi Peter,
Thank you for the patch.
On Monday, 20 November 2017 11:51:40 EET Peter Ujfalusi wrote:
> I believe the intention of the commit 2c9fc9bf45f8
> ("drm: omapdrm: Move FEAT_HDMI_* features to hdmi4 driver")
> was to identify omap4430 ES1.x, omap4430 ES2.x and other OMAP4 revisions,
> like omap4460.
>
> By using family=OMAP4 in the match the code will treat omap4460 ES1.x in a
> same way as it would treat omap4430 ES1.x
>
> This breaks HDMI audio on OMAP4460 devices (PandaES for example).
Sorry for breaking this :-(
> Correct the match rule so we are not going to get false positive match.
>
> Fixes: 2c9fc9bf45f8 ("drm: omapdrm: Move FEAT_HDMI_* features to hdmi4
> driver")
>
> CC: stable at vger.kernel.org # 4.14
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> Hi,
>
> Changes since v1:
> - fix the hdmi4_features structure names for clarity.
>
> Regards,
> Peter
>
> drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 23 +++++++++++++++++------
> 1 file changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c
> b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c index 62e451162d96..b06f9956e733
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c
> +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c
> @@ -886,25 +886,36 @@ struct hdmi4_features {
> bool audio_use_mclk;
> };
>
> -static const struct hdmi4_features hdmi4_es1_features = {
> +static const struct hdmi4_features hdmi4430_es1_features = {
> .cts_swmode = false,
> .audio_use_mclk = false,
> };
>
> -static const struct hdmi4_features hdmi4_es2_features = {
> +static const struct hdmi4_features hdmi4430_es2_features = {
> .cts_swmode = true,
> .audio_use_mclk = false,
> };
>
> -static const struct hdmi4_features hdmi4_es3_features = {
> +static const struct hdmi4_features hdmi4_features = {
> .cts_swmode = true,
> .audio_use_mclk = true,
> };
>
> static const struct soc_device_attribute hdmi4_soc_devices[] = {
> - { .family = "OMAP4", .revision = "ES1.?", .data = &hdmi4_es1_features },
> - { .family = "OMAP4", .revision = "ES2.?", .data = &hdmi4_es2_features },
> - { .family = "OMAP4", .data = &hdmi4_es3_features },
> + {
> + .machine = "OMAP4430",
> + .revision = "ES1.?",
> + .data = &hdmi4430_es1_features,
> + },
> + {
> + .machine = "OMAP4430",
> + .revision = "ES2.?",
> + .data = &hdmi4430_es2_features,
> + },
> + {
> + .family = "OMAP4",
> + .data = &hdmi4_features,
> + },
> { /* sentinel */ }
> };
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list