Re: [PATCH] arm64: dts: qcom: x1e78100-t14s: Enable fingerprint reader

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

 



On 25-01-07 16:19:26, Johan Hovold wrote:
> On Tue, Jan 07, 2025 at 04:38:28PM +0200, Abel Vesa wrote:
> > On 25-01-07 15:35:07, Abel Vesa wrote:
> > > On Lenovo ThinkPad T14s, the fingerprint reader placed in the power
> > > button is connected via the usb_2 controller. The controller has only
> > > a USB 2.0 PHY which is then connected via a NXP PTN3222 eUSB2 repeater,
> > > which in turn is connected to the Goodix fingerprint reader.
> > > 
> > > So enable all the usb_2 controller and PHY nodes, set dual-role mode to
> > > host and describe the eUSB2 repeater in order to get the fingerprint
> > > reader discovered.
> > > 
> > > Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxx>
> > 
> > Turns out that on resume a couple of things are broken w.r.t. to the usb_2 controller:
> > 
> > [   41.104913] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0xe2010600, fsynr=0x110001, cbfrsynra=0x14e0, cb
> > [   41.104936] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x14e0
> > [   41.104950] arm-smmu 15000000.iommu: FSYNR0 = 00110001 [S1CBNDX=17 PLVL=1]
> > [   51.420689] xhci-hcd xhci-hcd.6.auto: xHCI host not responding to stop endpoint command
> > [   51.420702] xhci-hcd xhci-hcd.6.auto: xHCI host controller not responding, assume dead
> > [   51.420720] xhci-hcd xhci-hcd.6.auto: HC died; cleaning up
> > [   51.420836] usb 5-1: PM: dpm_run_callback(): usb_dev_resume returns -22
> > [   51.420864] usb 5-1: PM: failed to resume async: error -22
> > 
> > So do not apply this yet.
> > 
> > Sorry for not testing this properly before sending.
> 
> Heh, thanks for the heads up.
> 
> I was just about to reply with my:
> 
> Reviewed-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
> Tested-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
> 
> after comparing with the schematics and verifying that the fingerprint
> reader enumerates.

Thanks for reviewing.

> 
> But I do indeed see something similar here on resume:
> 
> [ 1891.737726] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0xe3f6ddbec0, fsynr=0x510000, cbfrsynra=0x14e0, cb=3
> [ 1891.737738] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x14e0
> [ 1891.737746] arm-smmu 15000000.iommu: FSYNR0 = 00510000 [S1CBNDX=81 PLVL=0]
> [ 1891.804342] r8152 7-1:1.0 eth0: carrier on
> [ 1902.039158] xhci-hcd xhci-hcd.1.auto: xHCI host not responding to stop endpoint command
> [ 1902.039191] xhci-hcd xhci-hcd.1.auto: xHCI host controller not responding, assume dead
> [ 1902.039795] xhci-hcd xhci-hcd.1.auto: HC died; cleaning up
> [ 1902.040050] usb 1-1: PM: dpm_run_callback(): usb_dev_resume returns -5
> [ 1902.040272] usb 1-1: PM: failed to resume async: error -5
> [ 1902.581479] OOM killer enabled.
> [ 1902.586673] Restarting tasks ...
> [ 1902.587565] usb 1-1: USB disconnect, device number 2

Turns out it is the GDSC that has power status flags PWRSTS_OFF_ON when it
should've had PWRSTS_RET_ON. Sent a fix here:

https://lore.kernel.org/all/20250107-x1e80100-clk-gcc-fix-usb2-gdsc-pwrsts-v1-1-e15d1a5e7d80@xxxxxxxxxx/

With this patch, the above resume issue goes away entirely.

> 
> Johan

Abel




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux