[Intel-gfx] i915 SNB: hotplug events when charging causing poor interactivity

Andrew Lutomirski luto at mit.edu
Tue Feb 21 21:30:10 CET 2012


On Tue, Feb 21, 2012 at 12:02 PM, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Tue, Feb 21, 2012 at 01:37:37PM +0000, Daniel J Blueman wrote:
>> On 16 February 2012 13:07, Daniel Vetter <daniel at ffwll.ch> wrote:
>> > On Thu, Feb 16, 2012 at 11:44:46AM +0000, Daniel J Blueman wrote:
>> >> When charging Dell E5420 laptops, I see the Sandy Bridge South Display
>> >> Engine port C hotplug interrupt fire consistently at around 20Hz. Each
>> []
>> >> Notably, when only using battery or only using AC, the port C
>> >> interrupts don't fire. It feels like the platform is using South
>> >> Display Port C for GPIO/I2C; setting the port C pulse duration from
>> >> 2ms to 100ms doesn't change the behaviour. I'll dump off the GPIO
>> >> settings, but what else is good to debug this?
>> >
>> > Yep, dumping the register state (intel_reg_dumper from intel-gpu-tools is
>> > handy for that) in the different situations sounds useful.
>> []
>> > If this is indeed the bios we need to quirk this away. But I think we
>> > should check first whether we don't butcher something else accidently.
>>
>> When charging the battery, I see the SDE_PORTB_HOTPLUG, PORTC, PORTD
>> and SDE_AUX_MASK bits set (sometimes at different times) at ~20Hz
>> until the battery is charged, which is disconcerting.
>>
>> Hotplugging a HDMI cable, SDE_PORTB_HOTPLUG and SDE_AUX_MASK bits are
>> set once, so we can't mask these on this platform.
>>
>> Attached are the reg dumps. We see the backlight register
>> (BLC_PWM_CPU_CTL) and the A surface register (DSPASURF) vary across
>> multiple reads as expected.
>>
>> Any ideas?
>
> Nope, as in absolutely no idea. The only idea I have is that the expects
> us to do something with either acpi or opregion that we currently don't,
> but that's just handwaving.
>
> So I think you're left with filing a bug report with all the things you've
> gathered and hoping that we stumble over the missing piece of
> documentation :(

There used to be a bug on GM45 that would cause digital outputs that
weren't connected to occasionally generate bogus hotplug interrupts.
I wonder if there's a pin that's floating that picks up noise or stray
charge depending on what the battery charger is doing.  IIRC there's
something in vbios that the driver could use to detect and disable
unwired ports.

Do you actually have a port C?

--Andy



More information about the Intel-gfx mailing list