Re: [PATCH] ACPI / LPSS: Exclude I2C busses shared with PUNIT from pmc_atom_d3_mask

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

 



On Tue, Sep 11, 2018 at 8:46 AM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>
> Hi,
>
> On 08-09-18 20:08, Hans de Goede wrote:
> > lpss_iosf_enter_d3_state() checks if all hw-blocks using the DMA
> > controllers are in d3 before powering down the DMA controllers.
> >
> > But on devices, where the I2C bus connected to the PMIC is shared by
> > the PUNIT, the controller for that bus will never reach d3 since it has
> > an effectively empty _PS3 method. Instead it appears to automatically
> > power-down during S0i3 and we never see it as being in d3.
> >
> > This causes the DMA controllers to never be powered-down on these devices,
> > causing them to never reach S0i3. This commit uses the ACPI _SEM method
> > to detect if an I2C bus is shared with the PUNIT and if it is, it removes
> > it from the mask of devices which lpss_iosf_enter_d3_state() checks for.
> >
> > This fixes these devices never reaching any S0ix states.
> >
> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
>
> As mentioned there was some discussion in:
>
> https://bugzilla.kernel.org/show_bug.cgi?id=200989
>
> If this patch is necessary, or if we could somehow fix that bug
> differently, which would mean that we don't need this patch.
>
> That discussion is resolved now and we need to keep the code to
> override the powerstate of the LPSS DMA devices around as removing
> it stops some devices from booting :|
>
> We also need to keep Zhang Rui's fix to make sure that
> lpss_iosf_exit_d3_state() executes at least once and forces the
> DMA controllers to be on / in D0.
>
> That also means that we need this patch to be able to enter S0ix
> states on Bay Trail and Cherry Trail devices with the shared
> I2C bus.
>
> So this patch is ready for merging now, assuming it passes review.

OK

One process remark here, though.

Sending cover letters for individual patches is not quite useful as it
generally makes processing them harder.

If there is additional information about the patch you don't need/want
to get into the git log, you can still add it to the patch itself,
between the tags and the code changes.

Thanks,
Rafael



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux