Message ID | 20171117080043.19010-1-peter.ujfalusi@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 17/11/17 10:00, 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). > > 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@vger.kernel.org # 4.14 > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> > --- > drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c > index 62e451162d96..07945a40c33a 100644 > --- a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c > +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c > @@ -902,9 +902,20 @@ static const struct hdmi4_features hdmi4_es3_features = { > }; > > 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 = &hdmi4_es1_features, > + }, > + { > + .machine = "OMAP4430", > + .revision = "ES2.?", > + .data = &hdmi4_es2_features, > + }, > + { > + .family = "OMAP4", > + .data = &hdmi4_es3_features, > + }, > { /* sentinel */ } > }; > > Looks good to me. Was there are reason to change the format from single-line to multi-line? While at it, I think it would make sense to rename hdmi4_es3_features to... hdmi4_features? It's not "ES3" in any way. Tomi
On 2017-11-17 14:55, Tomi Valkeinen wrote: > On 17/11/17 10:00, 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). >> >> 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@vger.kernel.org # 4.14 >> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> >> --- >> drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 17 ++++++++++++++--- >> 1 file changed, 14 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c >> index 62e451162d96..07945a40c33a 100644 >> --- a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c >> +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c >> @@ -902,9 +902,20 @@ static const struct hdmi4_features hdmi4_es3_features = { >> }; >> >> 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 = &hdmi4_es1_features, >> + }, >> + { >> + .machine = "OMAP4430", >> + .revision = "ES2.?", >> + .data = &hdmi4_es2_features, >> + }, >> + { >> + .family = "OMAP4", >> + .data = &hdmi4_es3_features, >> + }, >> { /* sentinel */ } >> }; >> >> > > Looks good to me. > > Was there are reason to change the format from single-line to multi-line? in one line it would beyond 80 and just breaking the .data to new line looked ugly. > While at it, I think it would make sense to rename hdmi4_es3_features > to... hdmi4_features? It's not "ES3" in any way. Yes, that would make sense, but then the hdmi4_es1/2 is not really correct either as it should be omap4430_es1/2 ... I'll resend it on Monday with this change. > > Tomi > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c index 62e451162d96..07945a40c33a 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4_core.c @@ -902,9 +902,20 @@ static const struct hdmi4_features hdmi4_es3_features = { }; 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 = &hdmi4_es1_features, + }, + { + .machine = "OMAP4430", + .revision = "ES2.?", + .data = &hdmi4_es2_features, + }, + { + .family = "OMAP4", + .data = &hdmi4_es3_features, + }, { /* sentinel */ } };
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). 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@vger.kernel.org # 4.14 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> --- drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)