Message ID | 1313571812-31357-1-git-send-email-reimth@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Wed, Aug 17, 2011 at 5:03 AM, Thomas Reim <reimth@googlemail.com> wrote: > Toshiba Satellite L300D with ATI Mobility Radeon X1100 sends data > to i2c bus for a HDMI connector that is not implemented/existent > on the notebook's board. If the laptop doesn't actually have the port, it would be better to just add a connector table quirk to just remove it. However, the HDMI port may be on a docking station. Alex > > Fix by applying extented DDC probing for this connector. > > Requires [PATCH] drm/radeon: Extended DDC Probing for Connectors > with Improperly Wired DDC Lines > > Tested for kernel 2.6.38 on Toshiba Satellite L300D notebook > > BugLink: http://bugs.launchpad.net/bugs/826677 > > Signed-off-by: Thomas Reim <reimth@gmail.com> > Acked-by: Chris Routh <routhy@gmail.com> > Cc: <stable@kernel.org> > --- > drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c > index 6d6b5f1..ef5a6f0 100644 > --- a/drivers/gpu/drm/radeon/radeon_connectors.c > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c > @@ -464,6 +464,16 @@ static bool radeon_connector_needs_extended_probe(struct radeon_device *dev, > (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) > return true; > } > + /* TOSHIBA Satellite L300D with ATI Mobility Radeon x1100 > + * (RS690M) sends data to i2c bus for a HDMI connector that > + * is not implemented */ > + if ((dev->pdev->device == 0x791f) && > + (dev->pdev->subsystem_vendor == 0x1179) && > + (dev->pdev->subsystem_device == 0xff68)) { > + if ((connector_type == DRM_MODE_CONNECTOR_HDMIA) && > + (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) > + return true; > + } > > /* Default: no EDID header probe required for DDC probing */ > return false; > -- > 1.7.1 > >
Dear Alex, I try to get the information from Chris. Were would you add the quirk? Currently we collect all these floating chip realisations in the "requires extended DDC probing" function. But this function just sets the related flag. If we go for a connector specific quirk we would need to separate this laptop from the others, wouldn't we? And if I remember correctly, the ECS board had also two versions: one with HDMI connector and one without. The latter had the floating bus, but IDs were the same. Best regards Thomas Am Mittwoch, den 17.08.2011, 11:08 -0400 schrieb Alex Deucher: > On Wed, Aug 17, 2011 at 5:03 AM, Thomas Reim <reimth@googlemail.com> wrote: > > Toshiba Satellite L300D with ATI Mobility Radeon X1100 sends data > > to i2c bus for a HDMI connector that is not implemented/existent > > on the notebook's board. > > If the laptop doesn't actually have the port, it would be better to > just add a connector table quirk to just remove it. However, the HDMI > port may be on a docking station. > > Alex > > > > > Fix by applying extented DDC probing for this connector. > > > > Requires [PATCH] drm/radeon: Extended DDC Probing for Connectors > > with Improperly Wired DDC Lines > > > > Tested for kernel 2.6.38 on Toshiba Satellite L300D notebook > > > > BugLink: http://bugs.launchpad.net/bugs/826677 > > > > Signed-off-by: Thomas Reim <reimth@gmail.com> > > Acked-by: Chris Routh <routhy@gmail.com> > > Cc: <stable@kernel.org> > > --- > > drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++++++++++ > > 1 files changed, 10 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c > > index 6d6b5f1..ef5a6f0 100644 > > --- a/drivers/gpu/drm/radeon/radeon_connectors.c > > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c > > @@ -464,6 +464,16 @@ static bool radeon_connector_needs_extended_probe(struct radeon_device *dev, > > (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) > > return true; > > } > > + /* TOSHIBA Satellite L300D with ATI Mobility Radeon x1100 > > + * (RS690M) sends data to i2c bus for a HDMI connector that > > + * is not implemented */ > > + if ((dev->pdev->device == 0x791f) && > > + (dev->pdev->subsystem_vendor == 0x1179) && > > + (dev->pdev->subsystem_device == 0xff68)) { > > + if ((connector_type == DRM_MODE_CONNECTOR_HDMIA) && > > + (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) > > + return true; > > + } > > > > /* Default: no EDID header probe required for DDC probing */ > > return false; > > -- > > 1.7.1 > > > >
Here's the information from Chris: Hdmi connector - no Docking station - no Toshiba Sattelite L300D In the meantime I've checked Toshiba's manuals: --- Quote: Some models are equipped with HDMI out port than can send/receive video, audio and control signals by connecting with external display/audio devices. 1080p, 720p, 576p and 480p signal formats are supported, but actually available signal format depends on each HDMI devices. To connect external devices, follow the steps as detailed below: As the port operation of all HDMI (High-Definition Multimedia Interface) monitors has not been confirmed, some HDMI monitors may not function properly. --- I would leave the patch as it is. There are more than 30 models (L300D-xyz) of this laptop on the market. If we remove the connector, we may harm other people that have a laptop with HDMI port. If we just do extended DDC probing, people like Chris will not experience the EDID flooding anymore. Systems with HDMI monitor connected will not recognize the difference, as we just do an additional quick check of the monitor's EDID header. Even in case of a wrong EDID header, the patch is beneficial, as the EDID checksum check by drm would fail lateron with periodic error notification and EDID dump. Can't we go on with the proposed patch? Best regards Thomas Am Mittwoch, den 17.08.2011, 23:18 +0200 schrieb Thomas Reim: > Dear Alex, > > I try to get the information from Chris. > > Were would you add the quirk? Currently we collect all these floating > chip realisations in the "requires extended DDC probing" function. But > this function just sets the related flag. If we go for a connector > specific quirk we would need to separate this laptop from the others, > wouldn't we? > > And if I remember correctly, the ECS board had also two versions: one > with HDMI connector and one without. The latter had the floating bus, > but IDs were the same. > > Best regards > > Thomas > > Am Mittwoch, den 17.08.2011, 11:08 -0400 schrieb Alex Deucher: > > On Wed, Aug 17, 2011 at 5:03 AM, Thomas Reim <reimth@googlemail.com> wrote: > > > Toshiba Satellite L300D with ATI Mobility Radeon X1100 sends data > > > to i2c bus for a HDMI connector that is not implemented/existent > > > on the notebook's board. > > > > If the laptop doesn't actually have the port, it would be better to > > just add a connector table quirk to just remove it. However, the HDMI > > port may be on a docking station. > > > > Alex > > > > > > > > Fix by applying extented DDC probing for this connector. > > > > > > Requires [PATCH] drm/radeon: Extended DDC Probing for Connectors > > > with Improperly Wired DDC Lines > > > > > > Tested for kernel 2.6.38 on Toshiba Satellite L300D notebook > > > > > > BugLink: http://bugs.launchpad.net/bugs/826677 > > > > > > Signed-off-by: Thomas Reim <reimth@gmail.com> > > > Acked-by: Chris Routh <routhy@gmail.com> > > > Cc: <stable@kernel.org> > > > --- > > > drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++++++++++ > > > 1 files changed, 10 insertions(+), 0 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c > > > index 6d6b5f1..ef5a6f0 100644 > > > --- a/drivers/gpu/drm/radeon/radeon_connectors.c > > > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c > > > @@ -464,6 +464,16 @@ static bool radeon_connector_needs_extended_probe(struct radeon_device *dev, > > > (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) > > > return true; > > > } > > > + /* TOSHIBA Satellite L300D with ATI Mobility Radeon x1100 > > > + * (RS690M) sends data to i2c bus for a HDMI connector that > > > + * is not implemented */ > > > + if ((dev->pdev->device == 0x791f) && > > > + (dev->pdev->subsystem_vendor == 0x1179) && > > > + (dev->pdev->subsystem_device == 0xff68)) { > > > + if ((connector_type == DRM_MODE_CONNECTOR_HDMIA) && > > > + (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) > > > + return true; > > > + } > > > > > > /* Default: no EDID header probe required for DDC probing */ > > > return false; > > > -- > > > 1.7.1 > > > > > > >
On Wed, Aug 17, 2011 at 5:18 PM, Thomas Reim <reimth@gmail.com> wrote: > Dear Alex, > > I try to get the information from Chris. > > Were would you add the quirk? Currently we collect all these floating > chip realisations in the "requires extended DDC probing" function. But > this function just sets the related flag. If we go for a connector > specific quirk we would need to separate this laptop from the others, > wouldn't we? There are already a number of systems with connector quirks. See radeon_atom_apply_quirks() in radeon_atombios.c. > > And if I remember correctly, the ECS board had also two versions: one > with HDMI connector and one without. The latter had the floating bus, > but IDs were the same. Right, usually the HDMI port was sold as a PCIE card and a lot of vendors sold the same board both with and without the hdmi card. Alex > > Best regards > > Thomas > > Am Mittwoch, den 17.08.2011, 11:08 -0400 schrieb Alex Deucher: >> On Wed, Aug 17, 2011 at 5:03 AM, Thomas Reim <reimth@googlemail.com> wrote: >> > Toshiba Satellite L300D with ATI Mobility Radeon X1100 sends data >> > to i2c bus for a HDMI connector that is not implemented/existent >> > on the notebook's board. >> >> If the laptop doesn't actually have the port, it would be better to >> just add a connector table quirk to just remove it. However, the HDMI >> port may be on a docking station. >> >> Alex >> >> > >> > Fix by applying extented DDC probing for this connector. >> > >> > Requires [PATCH] drm/radeon: Extended DDC Probing for Connectors >> > with Improperly Wired DDC Lines >> > >> > Tested for kernel 2.6.38 on Toshiba Satellite L300D notebook >> > >> > BugLink: http://bugs.launchpad.net/bugs/826677 >> > >> > Signed-off-by: Thomas Reim <reimth@gmail.com> >> > Acked-by: Chris Routh <routhy@gmail.com> >> > Cc: <stable@kernel.org> >> > --- >> > drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++++++++++ >> > 1 files changed, 10 insertions(+), 0 deletions(-) >> > >> > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c >> > index 6d6b5f1..ef5a6f0 100644 >> > --- a/drivers/gpu/drm/radeon/radeon_connectors.c >> > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c >> > @@ -464,6 +464,16 @@ static bool radeon_connector_needs_extended_probe(struct radeon_device *dev, >> > (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) >> > return true; >> > } >> > + /* TOSHIBA Satellite L300D with ATI Mobility Radeon x1100 >> > + * (RS690M) sends data to i2c bus for a HDMI connector that >> > + * is not implemented */ >> > + if ((dev->pdev->device == 0x791f) && >> > + (dev->pdev->subsystem_vendor == 0x1179) && >> > + (dev->pdev->subsystem_device == 0xff68)) { >> > + if ((connector_type == DRM_MODE_CONNECTOR_HDMIA) && >> > + (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) >> > + return true; >> > + } >> > >> > /* Default: no EDID header probe required for DDC probing */ >> > return false; >> > -- >> > 1.7.1 >> > >> > > >
On Wed, Aug 17, 2011 at 5:48 PM, Thomas Reim <reimth@gmail.com> wrote: > Here's the information from Chris: > Hdmi connector - no > Docking station - no > Toshiba Sattelite L300D > > In the meantime I've checked Toshiba's manuals: > --- > Quote: > Some models are equipped with HDMI out port than can send/receive > video, audio and control signals by connecting with external > display/audio > devices. 1080p, 720p, 576p and 480p signal formats are supported, but > actually available signal format depends on each HDMI devices. To > connect external devices, follow the steps as detailed below: > As the port operation of all HDMI (High-Definition Multimedia Interface) > monitors has not been confirmed, some HDMI monitors may not function > properly. > --- > > I would leave the patch as it is. There are more than 30 models > (L300D-xyz) of this laptop on the market. If we remove the connector, we > may harm other people that have a laptop with HDMI port. > > If we just do extended DDC probing, people like Chris will not > experience the EDID flooding anymore. Systems with HDMI monitor > connected will not recognize the difference, as we just do an additional > quick check of the monitor's EDID header. Even in case of a wrong EDID > header, the patch is beneficial, as the EDID checksum check by drm would > fail lateron with periodic error notification and EDID dump. > > Can't we go on with the proposed patch? OK, sounds fine. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> At this point we may just want to quirk ATOM_DEVICE_DFP2_SUPPORT on all rs690/rs740 systems as this seems to be the only output that causes problems. Alex > > Best regards > > Thomas > > > Am Mittwoch, den 17.08.2011, 23:18 +0200 schrieb Thomas Reim: >> Dear Alex, >> >> I try to get the information from Chris. >> >> Were would you add the quirk? Currently we collect all these floating >> chip realisations in the "requires extended DDC probing" function. But >> this function just sets the related flag. If we go for a connector >> specific quirk we would need to separate this laptop from the others, >> wouldn't we? >> >> And if I remember correctly, the ECS board had also two versions: one >> with HDMI connector and one without. The latter had the floating bus, >> but IDs were the same. >> >> Best regards >> >> Thomas >> >> Am Mittwoch, den 17.08.2011, 11:08 -0400 schrieb Alex Deucher: >> > On Wed, Aug 17, 2011 at 5:03 AM, Thomas Reim <reimth@googlemail.com> wrote: >> > > Toshiba Satellite L300D with ATI Mobility Radeon X1100 sends data >> > > to i2c bus for a HDMI connector that is not implemented/existent >> > > on the notebook's board. >> > >> > If the laptop doesn't actually have the port, it would be better to >> > just add a connector table quirk to just remove it. However, the HDMI >> > port may be on a docking station. >> > >> > Alex >> > >> > > >> > > Fix by applying extented DDC probing for this connector. >> > > >> > > Requires [PATCH] drm/radeon: Extended DDC Probing for Connectors >> > > with Improperly Wired DDC Lines >> > > >> > > Tested for kernel 2.6.38 on Toshiba Satellite L300D notebook >> > > >> > > BugLink: http://bugs.launchpad.net/bugs/826677 >> > > >> > > Signed-off-by: Thomas Reim <reimth@gmail.com> >> > > Acked-by: Chris Routh <routhy@gmail.com> >> > > Cc: <stable@kernel.org> >> > > --- >> > > drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++++++++++ >> > > 1 files changed, 10 insertions(+), 0 deletions(-) >> > > >> > > diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c >> > > index 6d6b5f1..ef5a6f0 100644 >> > > --- a/drivers/gpu/drm/radeon/radeon_connectors.c >> > > +++ b/drivers/gpu/drm/radeon/radeon_connectors.c >> > > @@ -464,6 +464,16 @@ static bool radeon_connector_needs_extended_probe(struct radeon_device *dev, >> > > (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) >> > > return true; >> > > } >> > > + /* TOSHIBA Satellite L300D with ATI Mobility Radeon x1100 >> > > + * (RS690M) sends data to i2c bus for a HDMI connector that >> > > + * is not implemented */ >> > > + if ((dev->pdev->device == 0x791f) && >> > > + (dev->pdev->subsystem_vendor == 0x1179) && >> > > + (dev->pdev->subsystem_device == 0xff68)) { >> > > + if ((connector_type == DRM_MODE_CONNECTOR_HDMIA) && >> > > + (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) >> > > + return true; >> > > + } >> > > >> > > /* Default: no EDID header probe required for DDC probing */ >> > > return false; >> > > -- >> > > 1.7.1 >> > > >> > > >> > >
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 6d6b5f1..ef5a6f0 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -464,6 +464,16 @@ static bool radeon_connector_needs_extended_probe(struct radeon_device *dev, (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) return true; } + /* TOSHIBA Satellite L300D with ATI Mobility Radeon x1100 + * (RS690M) sends data to i2c bus for a HDMI connector that + * is not implemented */ + if ((dev->pdev->device == 0x791f) && + (dev->pdev->subsystem_vendor == 0x1179) && + (dev->pdev->subsystem_device == 0xff68)) { + if ((connector_type == DRM_MODE_CONNECTOR_HDMIA) && + (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) + return true; + } /* Default: no EDID header probe required for DDC probing */ return false;