[PATCH] Another card with wrong primary dac adj

Ondrej Zary linux at rainbow-software.org
Fri Jul 19 15:24:50 PDT 2013


On Friday 19 July 2013 23:50:50 Alex Deucher wrote:
> On Fri, Jul 19, 2013 at 3:08 PM, Ondrej Zary <linux at rainbow-software.org> 
wrote:
> > Hello,
> > got another card with "too bright" problem:
> > Sapphire Radeon VE 7000 DDR (VGA+S-Video)
> >
> > lspci -vnn:
> > 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD]
> > nee ATI RV100 QY [Radeon 7000/VE] [1002:5159] (prog-if 00 [VGA
> > controller]) Subsystem: PC Partner Limited Sapphire Radeon VE 7000 DDR
> > [174b:7c28]
> >
> > The patch below fixes the problem for this card.
>
> Applied.
>
> > But I don't like the blacklist, couldn't some heuristic be used instead?
>
> How about the attached patch?

Thanks, it fixes my card without the quirk. So if it does not break anything, 
it can be used instead of my patch.

> > The interesting thing is that the manufacturer is the same as the other
> > card needing the same quirk. I wonder how many different types are broken
> > this way.
>
> So far we only have two quirks, so it doesn't seem that widespread.
>
> Alex
>
> > The "wrong" ps2_pdac_adj value that comes from BIOS on this card is
> > 0x300.
> >
> > ====================
> > drm/radeon: Add primary dac adj quirk for Sapphire Radeon VE 7000 DDR
> >
> > Values from BIOS are wrong, causing too bright colors.
> > Use default values instead.
> >
> > Signed-off-by: Ondrej Zary <linux at rainbow-software.org>
> > ---
> >  drivers/gpu/drm/radeon/radeon_combios.c |    8 ++++++--
> >  1 files changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/radeon/radeon_combios.c
> > b/drivers/gpu/drm/radeon/radeon_combios.c index 78edadc..8528b81 100644
> > --- a/drivers/gpu/drm/radeon/radeon_combios.c
> > +++ b/drivers/gpu/drm/radeon/radeon_combios.c
> > @@ -971,10 +971,14 @@ struct radeon_encoder_primary_dac
> > *radeon_combios_get_primary_dac_info(struct }
> >
> >         /* quirks */
> > +       /* Radeon 7000 (RV100) */
> > +       if (((dev->pdev->device == 0x5159) &&
> > +           (dev->pdev->subsystem_vendor == 0x174B) &&
> > +           (dev->pdev->subsystem_device == 0x7c28)) ||
> >         /* Radeon 9100 (R200) */
> > -       if ((dev->pdev->device == 0x514D) &&
> > +          ((dev->pdev->device == 0x514D) &&
> >             (dev->pdev->subsystem_vendor == 0x174B) &&
> > -           (dev->pdev->subsystem_device == 0x7149)) {
> > +           (dev->pdev->subsystem_device == 0x7149))) {
> >                 /* vbios value is bad, use the default */
> >                 found = 0;
> >         }
> > --
> > Ondrej Zary
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel


-- 
Ondrej Zary


More information about the dri-devel mailing list