elanmoc: Make sure sensor in the right mode at identity

Signed-off-by: hermanlin <herman.lin@emc.com.tw>
This commit is contained in:
hermanlin
2022-06-30 15:52:46 +08:00
committed by Benjamin Berg
parent 61f0f86904
commit 24e7e1f100
3 changed files with 80 additions and 64 deletions

View File

@@ -759,6 +759,7 @@ identify_status_report (FpiDeviceElanmoc *self, int verify_status_id,
} }
enum identify_states { enum identify_states {
IDENTIFY_SET_MODE,
IDENTIFY_WAIT_FINGER, IDENTIFY_WAIT_FINGER,
IDENTIFY_NUM_STATES, IDENTIFY_NUM_STATES,
}; };
@@ -794,6 +795,13 @@ elan_identify_run_state (FpiSsm *ssm, FpDevice *dev)
fp_info ("elanmoc %s ", __func__); fp_info ("elanmoc %s ", __func__);
switch (fpi_ssm_get_cur_state (ssm)) switch (fpi_ssm_get_cur_state (ssm))
{ {
case IDENTIFY_SET_MODE:
fp_info ("elanmoc %s IDENTIFY_SET_MODE", __func__);
cmd_buf = elanmoc_compose_cmd (&elanmoc_set_mod_cmd);
cmd_buf[3] = 0x03;
elanmoc_get_cmd (dev, cmd_buf, elanmoc_set_mod_cmd.cmd_len, elanmoc_set_mod_cmd.resp_len, 0, elanmoc_cmd_ack_cb);
break;
case IDENTIFY_WAIT_FINGER: case IDENTIFY_WAIT_FINGER:
fp_info ("elanmoc %s VERIFY_WAIT_FINGER", __func__); fp_info ("elanmoc %s VERIFY_WAIT_FINGER", __func__);
cmd_buf = elanmoc_compose_cmd (&elanmoc_verify_cmd); cmd_buf = elanmoc_compose_cmd (&elanmoc_verify_cmd);

Binary file not shown.

View File

@@ -1,63 +1,67 @@
P: /devices/pci0000:00/0000:00:14.0/usb1/1-1 P: /devices/pci0000:00/0000:00:14.0/usb1/1-9
N: bus/usb/001/010=1201000200000040F3047E0C05030102000109025300010103A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001 N: bus/usb/001/003=1201000200000008F304880C04800102000109025300010100A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001
E: DEVNAME=/dev/bus/usb/001/010 E: DEVNAME=/dev/bus/usb/001/003
E: DEVTYPE=usb_device E: DEVTYPE=usb_device
E: DRIVER=usb E: DRIVER=usb
E: PRODUCT=4f3/c7e/305 E: PRODUCT=4f3/c88/8004
E: TYPE=0/0/0 E: TYPE=0/0/0
E: BUSNUM=001 E: BUSNUM=001
E: DEVNUM=010 E: DEVNUM=003
E: MAJOR=189 E: MAJOR=189
E: MINOR=9 E: MINOR=2
E: SUBSYSTEM=usb E: SUBSYSTEM=usb
E: ID_VENDOR=ELAN E: ID_VENDOR=ELAN
E: ID_VENDOR_ENC=ELAN E: ID_VENDOR_ENC=ELAN
E: ID_VENDOR_ID=04f3 E: ID_VENDOR_ID=04f3
E: ID_MODEL=ELAN:ARM-M4 E: ID_MODEL=ELAN:ARM-M4
E: ID_MODEL_ENC=ELAN:ARM-M4 E: ID_MODEL_ENC=ELAN:ARM-M4
E: ID_MODEL_ID=0c7e E: ID_MODEL_ID=0c88
E: ID_REVISION=0305 E: ID_REVISION=8004
E: ID_SERIAL=ELAN_ELAN:ARM-M4 E: ID_SERIAL=ELAN_ELAN:ARM-M4
E: ID_BUS=usb E: ID_BUS=usb
E: ID_USB_INTERFACES=:ff0000: E: ID_USB_INTERFACES=:ff0000:
E: ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp. E: ID_VENDOR_FROM_DATABASE=Elan Microelectronics Corp.
E: ID_PATH=pci-0000:00:14.0-usb-0:1 E: ID_PATH=pci-0000:00:14.0-usb-0:9
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1 E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_9
E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_9
E: TAGS=:seat:
E: CURRENT_TAGS=:seat:
A: authorized=1\n A: authorized=1\n
A: avoid_reset_quirk=0\n A: avoid_reset_quirk=0\n
A: bConfigurationValue=1\n A: bConfigurationValue=1\n
A: bDeviceClass=00\n A: bDeviceClass=00\n
A: bDeviceProtocol=00\n A: bDeviceProtocol=00\n
A: bDeviceSubClass=00\n A: bDeviceSubClass=00\n
A: bMaxPacketSize0=64\n A: bMaxPacketSize0=8\n
A: bMaxPower=100mA\n A: bMaxPower=100mA\n
A: bNumConfigurations=1\n A: bNumConfigurations=1\n
A: bNumInterfaces= 1\n A: bNumInterfaces= 1\n
A: bcdDevice=0305\n A: bcdDevice=8004\n
A: bmAttributes=a0\n A: bmAttributes=a0\n
A: busnum=1\n A: busnum=1\n
A: configuration=add909c9-e67e-4126-a6f7-1e31179e27d9\n A: configuration=
H: descriptors=1201000200000040F3047E0C05030102000109025300010103A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001 H: descriptors=1201000200000008F304880C04800102000109025300010100A0320904000008FF0000000921100100012215000705810240000107050102400001070582024000010705020240000107058302400001070503024000010705840240000107050402400001
A: dev=189:9\n A: dev=189:2\n
A: devnum=10\n A: devnum=3\n
A: devpath=1\n A: devpath=9\n
L: driver=../../../../../bus/usb/drivers/usb L: driver=../../../../../bus/usb/drivers/usb
A: idProduct=0c7e\n L: firmware_node=../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:3d/device:3e/device:47
A: idProduct=0c88\n
A: idVendor=04f3\n A: idVendor=04f3\n
A: ltm_capable=no\n A: ltm_capable=no\n
A: manufacturer=ELAN\n A: manufacturer=ELAN\n
A: maxchild=0\n A: maxchild=0\n
L: port=../1-0:1.0/usb1-port1 L: port=../1-0:1.0/usb1-port9
A: power/active_duration=94712\n A: power/active_duration=35269124\n
A: power/async=enabled\n A: power/async=enabled\n
A: power/autosuspend=2\n A: power/autosuspend=2\n
A: power/autosuspend_delay_ms=2000\n A: power/autosuspend_delay_ms=2000\n
A: power/connected_duration=94712\n A: power/connected_duration=35283788\n
A: power/control=on\n A: power/control=on\n
A: power/level=on\n A: power/level=on\n
A: power/persist=1\n A: power/persist=0\n
A: power/runtime_active_kids=0\n A: power/runtime_active_kids=0\n
A: power/runtime_active_time=94436\n A: power/runtime_active_time=35276624\n
A: power/runtime_enabled=forbidden\n A: power/runtime_enabled=forbidden\n
A: power/runtime_status=active\n A: power/runtime_status=active\n
A: power/runtime_suspended_time=0\n A: power/runtime_suspended_time=0\n
@@ -77,38 +81,40 @@ A: removable=removable\n
A: rx_lanes=1\n A: rx_lanes=1\n
A: speed=12\n A: speed=12\n
A: tx_lanes=1\n A: tx_lanes=1\n
A: urbnum=12\n A: urbnum=2773\n
A: version= 2.00\n A: version= 2.00\n
P: /devices/pci0000:00/0000:00:14.0/usb1 P: /devices/pci0000:00/0000:00:14.0/usb1
N: bus/usb/001/001=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C N: bus/usb/001/001=12010002090001406B1D020015050302010109021900010100E0000904000001090000000705810304000C
E: DEVNAME=/dev/bus/usb/001/001 E: DEVNAME=/dev/bus/usb/001/001
E: DEVTYPE=usb_device E: DEVTYPE=usb_device
E: DRIVER=usb E: DRIVER=usb
E: PRODUCT=1d6b/2/504 E: PRODUCT=1d6b/2/515
E: TYPE=9/0/1 E: TYPE=9/0/1
E: BUSNUM=001 E: BUSNUM=001
E: DEVNUM=001 E: DEVNUM=001
E: MAJOR=189 E: MAJOR=189
E: MINOR=0 E: MINOR=0
E: SUBSYSTEM=usb E: SUBSYSTEM=usb
E: ID_VENDOR=Linux_5.4.0-42-generic_xhci-hcd E: ID_VENDOR=Linux_5.15.0-39-generic_xhci-hcd
E: ID_VENDOR_ENC=Linux\x205.4.0-42-generic\x20xhci-hcd E: ID_VENDOR_ENC=Linux\x205.15.0-39-generic\x20xhci-hcd
E: ID_VENDOR_ID=1d6b E: ID_VENDOR_ID=1d6b
E: ID_MODEL=xHCI_Host_Controller E: ID_MODEL=xHCI_Host_Controller
E: ID_MODEL_ENC=xHCI\x20Host\x20Controller E: ID_MODEL_ENC=xHCI\x20Host\x20Controller
E: ID_MODEL_ID=0002 E: ID_MODEL_ID=0002
E: ID_REVISION=0504 E: ID_REVISION=0515
E: ID_SERIAL=Linux_5.4.0-42-generic_xhci-hcd_xHCI_Host_Controller_0000:00:14.0 E: ID_SERIAL=Linux_5.15.0-39-generic_xhci-hcd_xHCI_Host_Controller_0000:00:14.0
E: ID_SERIAL_SHORT=0000:00:14.0 E: ID_SERIAL_SHORT=0000:00:14.0
E: ID_BUS=usb E: ID_BUS=usb
E: ID_USB_INTERFACES=:090000: E: ID_USB_INTERFACES=:090000:
E: ID_VENDOR_FROM_DATABASE=Linux Foundation E: ID_VENDOR_FROM_DATABASE=Linux Foundation
E: ID_AUTOSUSPEND=1
E: ID_MODEL_FROM_DATABASE=2.0 root hub E: ID_MODEL_FROM_DATABASE=2.0 root hub
E: ID_PATH=pci-0000:00:14.0 E: ID_PATH=pci-0000:00:14.0
E: ID_PATH_TAG=pci-0000_00_14_0 E: ID_PATH_TAG=pci-0000_00_14_0
E: ID_FOR_SEAT=usb-pci-0000_00_14_0 E: ID_FOR_SEAT=usb-pci-0000_00_14_0
E: TAGS=:seat: E: TAGS=:seat:
E: CURRENT_TAGS=:seat:
A: authorized=1\n A: authorized=1\n
A: authorized_default=1\n A: authorized_default=1\n
A: avoid_reset_quirk=0\n A: avoid_reset_quirk=0\n
@@ -120,30 +126,31 @@ A: bMaxPacketSize0=64\n
A: bMaxPower=0mA\n A: bMaxPower=0mA\n
A: bNumConfigurations=1\n A: bNumConfigurations=1\n
A: bNumInterfaces= 1\n A: bNumInterfaces= 1\n
A: bcdDevice=0504\n A: bcdDevice=0515\n
A: bmAttributes=e0\n A: bmAttributes=e0\n
A: busnum=1\n A: busnum=1\n
A: configuration=\n A: configuration=
H: descriptors=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C H: descriptors=12010002090001406B1D020015050302010109021900010100E0000904000001090000000705810304000C
A: dev=189:0\n A: dev=189:0\n
A: devnum=1\n A: devnum=1\n
A: devpath=0\n A: devpath=0\n
L: driver=../../../../bus/usb/drivers/usb L: driver=../../../../bus/usb/drivers/usb
L: firmware_node=../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:3d/device:3e
A: idProduct=0002\n A: idProduct=0002\n
A: idVendor=1d6b\n A: idVendor=1d6b\n
A: interface_authorized_default=1\n A: interface_authorized_default=1\n
A: ltm_capable=no\n A: ltm_capable=no\n
A: manufacturer=Linux 5.4.0-42-generic xhci-hcd\n A: manufacturer=Linux 5.15.0-39-generic xhci-hcd\n
A: maxchild=12\n A: maxchild=14\n
A: power/active_duration=74604360\n A: power/active_duration=35270364\n
A: power/async=enabled\n A: power/async=enabled\n
A: power/autosuspend=0\n A: power/autosuspend=0\n
A: power/autosuspend_delay_ms=0\n A: power/autosuspend_delay_ms=0\n
A: power/connected_duration=74606456\n A: power/connected_duration=35284300\n
A: power/control=auto\n A: power/control=auto\n
A: power/level=auto\n A: power/level=auto\n
A: power/runtime_active_kids=4\n A: power/runtime_active_kids=2\n
A: power/runtime_active_time=74605838\n A: power/runtime_active_time=35277420\n
A: power/runtime_enabled=enabled\n A: power/runtime_enabled=enabled\n
A: power/runtime_status=active\n A: power/runtime_status=active\n
A: power/runtime_suspended_time=0\n A: power/runtime_suspended_time=0\n
@@ -164,62 +171,63 @@ A: rx_lanes=1\n
A: serial=0000:00:14.0\n A: serial=0000:00:14.0\n
A: speed=480\n A: speed=480\n
A: tx_lanes=1\n A: tx_lanes=1\n
A: urbnum=490\n A: urbnum=549\n
A: version= 2.00\n A: version= 2.00\n
P: /devices/pci0000:00/0000:00:14.0 P: /devices/pci0000:00/0000:00:14.0
E: DRIVER=xhci_hcd E: DRIVER=xhci_hcd
E: PCI_CLASS=C0330 E: PCI_CLASS=C0330
E: PCI_ID=8086:9DED E: PCI_ID=8086:8C31
E: PCI_SUBSYS_ID=103C:85EF E: PCI_SUBSYS_ID=1043:201F
E: PCI_SLOT_NAME=0000:00:14.0 E: PCI_SLOT_NAME=0000:00:14.0
E: MODALIAS=pci:v00008086d00009DEDsv0000103Csd000085EFbc0Csc03i30 E: MODALIAS=pci:v00008086d00008C31sv00001043sd0000201Fbc0Csc03i30
E: SUBSYSTEM=pci E: SUBSYSTEM=pci
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
E: ID_VENDOR_FROM_DATABASE=Intel Corporation E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_MODEL_FROM_DATABASE=Cannon Point-LP USB 3.1 xHCI Controller E: ID_MODEL_FROM_DATABASE=8 Series/C220 Series Chipset Family USB xHCI
A: ari_enabled=0\n A: ari_enabled=0\n
A: broken_parity_status=0\n A: broken_parity_status=0\n
A: class=0x0c0330\n A: class=0x0c0330\n
H: config=8680ED9D060490023030030C00008000040030A10000000000000000000000000000000000000000000000003C10EF85000000007000000000000000FF010000FD0134808FC6FF8300000000000000007F6DDC0F00000000181C030400000000316000000000000000000000000000000180C2C1080000000000000000000000059087007802E0FE0000000000000000090014F01000400100000000C10A080000080E00001800008F40020000010000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000B50F300112000000 H: config=8680318C060490020530030C000000000400A0F700000000000000000000000000000000000000000000000043101F200000000070000000000000000B010000FD01368089C60F8000000000000000009F6E8807000000000000000000000000302000000000000000000000000000000180C2C1080000000000000000000000050087000410E0FE000000002F00000000000000000000000000000000000000400100000000000000000000000000000F000100000000000000000000000000030420C0030C3000030C300000000000FF1A0000FF1A00003F0000003F000000A00000000000000000000000D8D8D8080000000000000000B10F060800000000
A: consistent_dma_mask_bits=64\n A: consistent_dma_mask_bits=64\n
A: d3cold_allowed=1\n A: d3cold_allowed=1\n
A: dbc=disabled\n A: device=0x8c31\n
A: device=0x9ded\n
A: dma_mask_bits=64\n A: dma_mask_bits=64\n
L: driver=../../../bus/pci/drivers/xhci_hcd L: driver=../../../bus/pci/drivers/xhci_hcd
A: driver_override=(null)\n A: driver_override=(null)\n
A: enable=1\n A: enable=1\n
A: irq=124\n L: firmware_node=../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:3d
A: irq=31\n
A: local_cpulist=0-3\n A: local_cpulist=0-3\n
A: local_cpus=f\n A: local_cpus=f\n
A: modalias=pci:v00008086d00009DEDsv0000103Csd000085EFbc0Csc03i30\n A: modalias=pci:v00008086d00008C31sv00001043sd0000201Fbc0Csc03i30\n
A: msi_bus=1\n A: msi_bus=1\n
A: msi_irqs/124=msi\n A: msi_irqs/31=msi\n
A: numa_node=-1\n A: numa_node=-1\n
A: pools=poolinfo - 0.1\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 0 32 128 1\nbuffer-32 0 0 32 0\nxHCI 1KB stream ctx arrays 0 0 1024 0\nxHCI 256 byte stream ctx arrays 0 0 256 0\nxHCI input/output contexts 11 12 2112 12\nxHCI ring segments 54 54 4096 54\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 9 32 128 1\nbuffer-32 0 0 32 0\n A: pools=poolinfo - 0.1\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 0 0 128 0\nbuffer-32 0 0 32 0\nxHCI 1KB stream ctx arrays 0 0 1024 0\nxHCI 256 byte stream ctx arrays 0 0 256 0\nxHCI input/output contexts 5 6 2112 6\nxHCI ring segments 24 24 4096 24\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 3 32 128 1\nbuffer-32 0 0 32 0\n
A: power/async=enabled\n A: power/async=enabled\n
A: power/control=auto\n A: power/control=on\n
A: power/runtime_active_kids=1\n A: power/runtime_active_kids=1\n
A: power/runtime_active_time=74606194\n A: power/runtime_active_time=35278060\n
A: power/runtime_enabled=enabled\n A: power/runtime_enabled=forbidden\n
A: power/runtime_status=active\n A: power/runtime_status=active\n
A: power/runtime_suspended_time=0\n A: power/runtime_suspended_time=0\n
A: power/runtime_usage=0\n A: power/runtime_usage=1\n
A: power/wakeup=enabled\n A: power/wakeup=enabled\n
A: power/wakeup_abort_count=0\n A: power/wakeup_abort_count=0\n
A: power/wakeup_active=0\n A: power/wakeup_active=0\n
A: power/wakeup_active_count=0\n A: power/wakeup_active_count=5\n
A: power/wakeup_count=0\n A: power/wakeup_count=0\n
A: power/wakeup_expire_count=0\n A: power/wakeup_expire_count=5\n
A: power/wakeup_last_time_ms=0\n A: power/wakeup_last_time_ms=12694896\n
A: power/wakeup_max_time_ms=0\n A: power/wakeup_max_time_ms=103\n
A: power/wakeup_total_time_ms=0\n A: power/wakeup_total_time_ms=518\n
A: resource=0x00000000a1300000 0x00000000a130ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n A: power_state=D0\n
A: revision=0x30\n A: resource=0x00000000f7a00000 0x00000000f7a0ffff 0x0000000000140204\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n
A: subsystem_device=0x85ef\n A: revision=0x05\n
A: subsystem_vendor=0x103c\n A: subsystem_device=0x201f\n
A: subsystem_vendor=0x1043\n
A: vendor=0x8086\n A: vendor=0x8086\n