Re: [PATCH 0/7] Fixes for hybrid graphics Apple machines

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

 



On Fri, Sep 7, 2012 at 4:22 PM, Seth Forshee <seth.forshee@xxxxxxxxxxxxx> wrote:
> Many hybrid graphics Apple laptops fail to set up LVDS on the secondary
> GPU due to missing or incorrect mode information for the panel at init
> time. The only way to get the LVDS mode on these machines is via the
> DDC, but this is muxed to the active GPU at boot. However, the graphics
> mux on these machines supports muxing the i2c idependently of the
> display, making it possible for the secondary graphics driver to read
> the EDID without a full display switch.
>
> In order to support this, these patches modify vga_switcheroo to allow
> muxing of the DDC idependently of the display. apple-gmux is updated to
> support this new functionality, and drm_get_edid() is modified to switch
> the DDC mux as needed.
>
> For this to work we also need to ensure that sufficient switcheroo
> suport is available before initializing the secondary GPU. This is done
> by adding any non-active GPUs that try to initialize before switcheroo
> is ready to a list and initializing these devices once switcheroo
> becomes ready. This behavior is restricted to Apple laptops to prevent
> causing problems on other machines.

I hate this idea, no delaying stuff. We either need to have some sort
of enforced ordering or make some stuff only work built-in.

But sticking things on a delayed list just in case seems wrong to me.

Dave.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux