diff --git a/dev/NOTES.md b/dev/NOTES.md index 8a254d4..8f0b82d 100644 --- a/dev/NOTES.md +++ b/dev/NOTES.md @@ -18,6 +18,56 @@ dma0 (800000.dma-controller): number of channels: 8 dma1 (a00000.dma-controller): number of channels: 8 dma1chan0 | a84000.i2c:tx dma1chan1 | a84000.i2c:rx + +samsung-a715f:~# i2cdetect -l +i2c-0 i2c Geni-I2C I2C adapter +i2c-2 i2c Geni-I2C I2C adapter +i2c-7 i2c Geni-I2C I2C adapter +i2c-9 i2c Geni-I2C I2C adapter + +samsung-a715f:~# i2cdetect -y -r 0 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- + +samsung-a715f:~# i2cdetect -y -r 2 # slow; might be broken + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- + +samsung-a715f:~# i2cdetect -y -r 7 # slow; might be broken + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- + +samsung-a715f:~# i2cdetect -y -r 9 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- 56 -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- ``` ### Android @@ -28,4 +78,129 @@ a71:/ # cat /proc/interrupts | grep -i -e dma -e i2c 115: 1198 0 0 0 0 0 0 0 PDC-GIC 635 Level i2c_geni 119: 0 0 0 0 0 0 0 0 PDC-GIC 386 Level i2c_geni 139: 0 0 0 0 0 0 0 0 PDC-GIC 507 Edge jpegdma + +a71:/ # i2cdetect -l +i2c-1 i2c Geni-I2C I2C Adapter +i2c-27 i2c soc:i2c@26 I2C Adapter +i2c-25 i2c soc:12c@13 I2C Adapter +i2c-0 i2c Geni-I2C I2C Adapter +i2c-28 i2c soc:12c@14 I2C Adapter +i2c-26 i2c soc:i2c@17 I2C Adapter +i2c-24 i2c Geni-I2C I2C Adapter + +a71:/ # i2cdetect -y 0 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- +30: -- -- -- -- -- 35 -- -- 38 39 3a 3b 3c 3d 3e 3f +40: 40 41 42 43 44 45 -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- 67 -- -- -- -- -- -- -- -- +70: -- -- -- 73 -- -- -- -- + +a71:/ # i2cdetect -y 1 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- + +a71:/ # i2cdetect -y 24 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- 48 -- -- -- UU -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- + +a71:/ # i2cdetect -y 25 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- UU -- -- UU UU -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- UU -- -- -- + +a71:/ # i2cdetect -y 26 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- + +a71:/ # i2cdetect -y 27 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- + +a71:/ # i2cdetect -y 28 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- UU UU -- -- -- +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- +``` + +``` +[ 140.021880] i2c_geni a84000.i2c: here: geni_i2c_xfer [Enter] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:731 +[ 140.022154] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [Enter] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:474 +[ 140.022194] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [msg[0].len:1 R] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:586 +[ 140.022210] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [geni_se_iommu_map_buf worked] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:598 +[ 140.022225] gpi_dmaa00000_gpii0:1:gpi_prep_slave_sg: enter +[ 140.022234] gpi_dmaa00000_gpii0:1:gpi_prep_slave_sg: 0 of 1 len:16 +[ 140.022244] gpi_dmaa00000_gpii0:1:gpi_prep_slave_sg: el avail:63 req:1 +[ 140.022257] gpi_dma a00000.qcom,gpi-dma: here: gpi_queue_xfer @ ../../../../../../kernel/samsung/a71/drivers/dma/qcom/gpi.c:2146 +[ 140.022268] gpi_dmaa00000_gpii0:1:gpi_prep_slave_sg: exit wp:0x1fe090 rp:0x1fe080 +[ 140.022278] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [Issue read DMA] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:630 +[ 140.022291] gpi_dmaa00000_gpii0:1:gpi_issue_pending: Enter +[ 140.022300] gpi_dma a00000.qcom,gpi-dma: here: gpi_issue_pending [Enter] @ ../../../../../../kernel/samsung/a71/drivers/dma/qcom/gpi.c:2406 +[ 140.022316] gpi_dmaa00000_gpii0:0:gpi_prep_slave_sg: enter +[ 140.022324] gpi_dmaa00000_gpii0:0:gpi_prep_slave_sg: 0 of 1 len:16 +[ 140.022331] gpi_dmaa00000_gpii0:0:gpi_prep_slave_sg: el avail:63 req:1 +[ 140.022339] gpi_dma a00000.qcom,gpi-dma: here: gpi_queue_xfer @ ../../../../../../kernel/samsung/a71/drivers/dma/qcom/gpi.c:2146 +[ 140.022351] gpi_dmaa00000_gpii0:0:gpi_prep_slave_sg: exit wp:0x1ff2e0 rp:0x1ff2d0 +[ 140.022361] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [Issue DMA] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:679 +[ 140.022373] gpi_dmaa00000_gpii0:0:gpi_issue_pending: Enter +[ 140.022381] gpi_dma a00000.qcom,gpi-dma: here: gpi_issue_pending [Enter] @ ../../../../../../kernel/samsung/a71/drivers/dma/qcom/gpi.c:2406 +[ 140.022396] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [Wait for DMA] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:684 +[ 140.022425] gpi_dmaa00000_gpii0:99:gpi_handle_irq: enter +[ 140.022436] gpi_dmaa00000_gpii0:99:gpi_handle_irq: CNTXT_TYPE_IRQ:0x00000008 +[ 140.022444] gpi_dmaa00000_gpii0:99:gpi_handle_irq: process IEOB interrupts +[ 140.022453] gpi_dmaa00000_gpii0:99:gpi_process_ieob: processing events from isr +[ 140.022465] gpi_dmaa00000_gpii0:99:gpi_process_events: cntxt_rp:0x00000000001fc030 local_rp:0x00000000001fc020 +[ 140.022477] gpi_dmaa00000_gpii0:99:gpi_process_events: chid:0 type:0x22 001ff2d0 00000000 04000000 00220000 +[ 140.022490] gpi_dmaa00000_gpii0:0:gpi_process_xfer_compl_event: cb_length:0 compl_code:0x4 status:0x0 +[ 140.022503] i2c_geni a84000.i2c: here: gi2c_gsi_tx_cb [Write DMA callback] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:447 +[ 140.022525] gpi_dmaa00000_gpii0:99:gpi_process_events: chid:1 type:0x22 001fe080 00000000 02000001 01220003 +[ 140.022536] gpi_dmaa00000_gpii0:1:gpi_process_xfer_compl_event: cb_length:1 compl_code:0x2 status:0x3 +[ 140.022549] i2c_geni a84000.i2c: here: gi2c_gsi_rx_cb [Read DMA callback] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:460 +[ 140.022576] gpi_dmaa00000_gpii0:99:gpi_process_events: exit: c_rp:0x00000000001fc040 +[ 140.022588] gpi_dmaa00000_gpii0:99:gpi_handle_irq: exit +[ 140.022606] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [Done (time left: 51)] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:689 +[ 140.022621] i2c_geni a84000.i2c: here: geni_i2c_gsi_xfer [geni_i2c_gsi_xfer_out (ret: 0, err: 0)] @ ../../../../../../kernel/samsung/a71/drivers/i2c/busses/i2c-qcom-geni.c:716 ```