Google
  Web www.spinics.net

Re: X Segmentation fault with i810

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Wed, Jan 4, 2012 at 2:17 AM, Adam Jackson <ajax@xxxxxxxx> wrote:
> On 1/3/12 1:00 PM, Adam Jackson wrote:
>>
>> On 1/3/12 12:49 PM, Chris Wilson wrote:
>>>
>>> On Tue, 03 Jan 2012 12:02:43 -0500, Adam Jackson<ajax@xxxxxxxxxx> wrote:
>>>>
>>>> On 12/30/11 12:34 AM, Jeff Chua wrote:
>>>>
>>>>> How can I go about to help debug this?
>>>>
>>>>
>>>> The i810 driver probably needs the equivalent fix as:
>>>>
>>>>
>>>> http://cgit.freedesktop.org/xorg/driver/xf86-video-cirrus/commit/?id=f422d0c38b0befdb2152215ab05d0d14f3da3ed9
>>>>
>>>
>>> The i810 driver uses vgaHWSetMmioFuncs() rather than SetStdFuncs, and so
>>> leaves hwp->io uninitialised. That pointer is then dereferenced by
>>> DACDelay() (as it uses pci_io_read8 irrespective of mmio/std funcs)
>>> during
>>> the vgaHWSaveColormap(). At which point, I'm far beyond my comfort
>>> zone...
>>> -Chris
>>>
>>
>> Oof, okay, nice find. DACDelay needs to not do that, or at least, not
>> unconditionally. I'll look into it.
>
>
> Something like this?
>
> ---
> diff --git a/hw/xfree86/vgahw/vgaHW.h b/hw/xfree86/vgahw/vgaHW.h
> index e943aa3..9fa8183 100644
> --- a/hw/xfree86/vgahw/vgaHW.h
> +++ b/hw/xfree86/vgahw/vgaHW.h
> @@ -170,10 +170,10 @@ typedef struct _vgaHWRec {
>  #define BITS_PER_GUN 6
>  #define COLORMAP_SIZE 256
>
> -#define DACDelay(hw)                                                    \
> -       do {                                                             \
> -           pci_io_read8((hw)->io, (hw)->IOBase + VGA_IN_STAT_1_OFFSET); \
> -           pci_io_read8((hw)->io, (hw)->IOBase + VGA_IN_STAT_1_OFFSET); \
> +#define DACDelay(hw)                   \
> +       do {                            \
> +           (hw)->readST01((hw));       \
> +           (hw)->readST01((hw));       \
>        } while (0)
>
>  /* Function Prototypes */

Will try it tomorrow when I get to the office.

Thanks,
Jeff.
_______________________________________________
xorg@xxxxxxxxxxx: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: list-xorg@xxxxxxxxxxx



[X Forum]     [Nouveau Driver]     [Devices]     [XFree86]     [XFree86 Newbie]     [Site Home]     [IETF Annouce]     [Security]     [Fontconfig]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Video for Linux]     [Linux RAID]     [Linux Resources]

Powered by Linux