Re: [PATCH v2 1/1] drm/i915: Fix VGA handling using stop_machine() or mmio

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

 



On Mon, Sep 30, 2013 at 05:08:31PM +0300, ville.syrjala@xxxxxxxxxxxxxxx wrote:
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> 
> We have several problems with out VGA handling:
> - We try to use the GMCH control VGA disable bit even though it may
>   be locked
> - If we manage to disable VGA throuh GMCH control, we're no longer
>   able to correctly disable the VGA plane
> - Taking part in the VGA arbitration is too expensive for X [1]

I'd like to emphasize that X disables DRI if it detects 2 vga cards,
effectively breaking all machines with a discrete GPU. Even if one of
those is not being used.
 
> +/*
> + * 21 devices with 8 functions per device max on the same bus.
> + * We don't need locking for these due to stop_machine().
> + */
> +static u16 vga_cmd[21*8];
> +static u16 vga_ctl[21*8];

Should we just allocate storage for when we need it? We are now adding
several hundred bytes to our module, which is bound to cause us to use
an extra page, and they can be passed around through the stop_machine
closure rather than static.

But anyway, it does what is says on the tin and makes my dGPU testing
box usable again, without breaking any other machine that I've tested on
so far,
Tested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux