[Intel-gfx] PANEL_FITTING atom

Lovelace Luquette luquette at bu.edu
Tue Aug 19 21:16:48 CEST 2008


On Thu, 7 Aug 2008, Jesse Barnes wrote:

> On Monday, August 4, 2008 7:11 pm Lovelace Luquette wrote:
>> On Mon, 4 Aug 2008, Jesse Barnes wrote:
>>> On Monday, August 04, 2008 6:40 am Lovelace Luquette wrote:
>>>> Hi,
>>>>
>>>> I'm using an Intel i852GM chipset and have a 16:10 aspect ratio LCD.
>>>>
>>>> I'd like to be able to configure the PANEL_FITTING atom introduced in
>>>> 2.3. However, looking through the code, I see that the PANEL_FITTING
>>>> atom is disabled for all of the i8xx chips.  For these chips all I can
>>>> do is accept the default setting of PANEL_FITTING = full.
>>>>
>>>> The code for letterboxing/pillar-boxing seems to be really simple.
>>>> (Even for i8xx chips, it seems like all we have to do is set
>>>> PFIT_CONTROL to the appropriate mode, then find the drawing offset and
>>>> store it in
>>>> PFIT_PGM_RATIOS).
>>>>
>>>> Is the reason we can't implement the PANEL_FITTING atom for i8xx because
>>>> the i8xx chips don't have the PFIT_CONTROL and PFIT_PGM_RATIOS
>>>> registers? (As a side note: this doesn't seem to be the case since all
>>>> of the PFIT_* registers are declared in i810_regs.h.  As another side
>>>> note, when I dump the chip's registers I see PFIT_CONTROL and
>>>> PFIT_PGM_RATIOS in the dump.)
>>>
>>> Right, and I think we saw PFIT programming cause trouble on at least a
>>> few 8xx platforms (even though they appeared to have PFIT regs).
>>>
>>>> I found the register documentation at http://intellinuxgraphics.org for
>>>> 965+ chips; is there a similar place to find register documentation for
>>>> older chips or has intel not released that data?
>>>
>>> Our internal 8xx documentation doesn't list the PFIT regs, though on some
>>> chips they may work anyway.  If they work fine for you after removing the
>>> 8xx checks in the PFIT code, we could add a whitelist for your platform
>>> to make things work automatically.
>>
>> Alright, I'll see what it does on my platform.
>>
>> If the PFIT_* registers don't end up working, is there any other way I
>> could get around the full-x/y scaling method?
>
> Any news here?  I'm not sure of an easy way to get other pfit modes w/o using
> the panel scaler.  Maybe there's an external one on your platform?
>
> Jesse

Just got around to testing this out on my i852 laptop.

Commenting out

if (!IS_I9XX(pI830))
     return;

in i830_lvds_create_resources() in i830_lvds.c obviously allowed me to set 
the PANEL_FITTING atom.  Both full_aspect and center work like a charm.

I'm using the 2.3.1 drivers.

Should we start to compile a list of whitelistable chips?

Joe Luquette



More information about the Intel-gfx mailing list