/kernel/linux/linux-5.10/drivers/ata/ |
H A D | ahci_xgene.c | 541 * @irq_masked: HOST_IRQ_STAT value 544 * the HOST_IRQ_STAT register misses the edge interrupt 545 * when clearing of HOST_IRQ_STAT register and hardware 550 * 1. Read HOST_IRQ_STAT register and save the state. 551 * 2. Clear the HOST_IRQ_STAT register. 552 * 3. Read back the HOST_IRQ_STAT register. 553 * 4. If HOST_IRQ_STAT register equals to zero, then 558 * then update the state of HOST_IRQ_STAT saved in step 1. 569 if (!readl(hpriv->mmio + HOST_IRQ_STAT)) { in xgene_ahci_handle_broken_edge_irq() 595 irq_stat = readl(mmio + HOST_IRQ_STAT); in xgene_ahci_irq_intr() [all...] |
H A D | ahci.h | 73 HOST_IRQ_STAT = 0x08, /* interrupt status */ enumerator
|
H A D | sata_inic162x.c | 78 HOST_IRQ_STAT = 0xbc, enumerator 426 host_irq_stat = readw(hpriv->mmio_base + HOST_IRQ_STAT); in inic_interrupt()
|
H A D | libahci.c | 1219 writel(1 << ap->port_no, hpriv->mmio + HOST_IRQ_STAT); in ahci_port_clear_pending_irq() 1967 irq_stat = readl(mmio + HOST_IRQ_STAT); in ahci_single_level_irq_intr() 1977 /* HOST_IRQ_STAT behaves as level triggered latch meaning that in ahci_single_level_irq_intr() 1986 writel(irq_stat, mmio + HOST_IRQ_STAT); in ahci_single_level_irq_intr() 2067 writel(1 << ap->port_no, mmio + HOST_IRQ_STAT); in ahci_thaw() 2438 writel(1 << ap->port_no, host_mmio + HOST_IRQ_STAT); in ahci_port_stop()
|
H A D | sata_sil24.c | 71 HOST_IRQ_STAT = 0x44, enumerator 1147 status = readl(host_base + HOST_IRQ_STAT); in sil24_interrupt()
|
H A D | ahci.c | 1496 * Due to ERRATA#22536, ThunderX needs to handle HOST_IRQ_STAT differently. 1511 irq_stat = readl(mmio + HOST_IRQ_STAT); in ahci_thunderx_irq_handler() 1521 writel(irq_stat, mmio + HOST_IRQ_STAT); in ahci_thunderx_irq_handler() 1522 irq_stat = readl(mmio + HOST_IRQ_STAT); in ahci_thunderx_irq_handler()
|
H A D | libahci_platform.c | 713 writel(GENMASK(host->n_ports, 0), mmio + HOST_IRQ_STAT); in ahci_platform_shutdown() local
|
/kernel/linux/linux-6.6/drivers/ata/ |
H A D | ahci_xgene.c | 540 * @irq_masked: HOST_IRQ_STAT value 543 * the HOST_IRQ_STAT register misses the edge interrupt 544 * when clearing of HOST_IRQ_STAT register and hardware 549 * 1. Read HOST_IRQ_STAT register and save the state. 550 * 2. Clear the HOST_IRQ_STAT register. 551 * 3. Read back the HOST_IRQ_STAT register. 552 * 4. If HOST_IRQ_STAT register equals to zero, then 557 * then update the state of HOST_IRQ_STAT saved in step 1. 568 if (!readl(hpriv->mmio + HOST_IRQ_STAT)) { in xgene_ahci_handle_broken_edge_irq() 594 irq_stat = readl(mmio + HOST_IRQ_STAT); in xgene_ahci_irq_intr() [all...] |
H A D | sata_inic162x.c | 78 HOST_IRQ_STAT = 0xbc, enumerator 426 host_irq_stat = readw(hpriv->mmio_base + HOST_IRQ_STAT); in inic_interrupt()
|
H A D | libahci.c | 1276 writel(1 << ap->port_no, hpriv->mmio + HOST_IRQ_STAT); in ahci_port_clear_pending_irq() 2023 irq_stat = readl(mmio + HOST_IRQ_STAT); in ahci_single_level_irq_intr() 2033 /* HOST_IRQ_STAT behaves as level triggered latch meaning that in ahci_single_level_irq_intr() 2042 writel(irq_stat, mmio + HOST_IRQ_STAT); in ahci_single_level_irq_intr() 2217 writel(1 << ap->port_no, mmio + HOST_IRQ_STAT); in ahci_thaw() 2603 writel(1 << ap->port_no, host_mmio + HOST_IRQ_STAT); in ahci_port_stop()
|
H A D | ahci.h | 72 HOST_IRQ_STAT = 0x08, /* interrupt status */ enumerator
|
H A D | sata_sil24.c | 71 HOST_IRQ_STAT = 0x44, enumerator 1146 status = readl(host_base + HOST_IRQ_STAT); in sil24_interrupt()
|
H A D | ahci.c | 1520 * Due to ERRATA#22536, ThunderX needs to handle HOST_IRQ_STAT differently. 1535 irq_stat = readl(mmio + HOST_IRQ_STAT); in ahci_thunderx_irq_handler() 1545 writel(irq_stat, mmio + HOST_IRQ_STAT); in ahci_thunderx_irq_handler() 1546 irq_stat = readl(mmio + HOST_IRQ_STAT); in ahci_thunderx_irq_handler()
|
H A D | libahci_platform.c | 806 writel(GENMASK(host->n_ports, 0), mmio + HOST_IRQ_STAT); in ahci_platform_shutdown() local
|
/kernel/linux/linux-5.10/drivers/block/mtip32xx/ |
H A D | mtip32xx.c | 361 writel(readl(port->dd->mmio + HOST_IRQ_STAT), in mtip_init_port() 362 port->dd->mmio + HOST_IRQ_STAT); in mtip_init_port() 689 writel(0xffffffff, dd->mmio + HOST_IRQ_STAT); in mtip_workq_sdbfx() 748 hba_stat = readl(dd->mmio + HOST_IRQ_STAT); in mtip_handle_irq() 816 writel(hba_stat, dd->mmio + HOST_IRQ_STAT); in mtip_handle_irq() 2310 readl(dd->mmio + HOST_IRQ_STAT)); in mtip_hw_read_registers() 2961 writel(readl(dd->mmio + HOST_IRQ_STAT), in mtip_hw_init() 2962 dd->mmio + HOST_IRQ_STAT); in mtip_hw_init()
|
/kernel/linux/linux-6.6/drivers/block/mtip32xx/ |
H A D | mtip32xx.c | 349 writel(readl(port->dd->mmio + HOST_IRQ_STAT), in mtip_init_port() 350 port->dd->mmio + HOST_IRQ_STAT); in mtip_init_port() 677 writel(0xffffffff, dd->mmio + HOST_IRQ_STAT); in mtip_workq_sdbfx() 736 hba_stat = readl(dd->mmio + HOST_IRQ_STAT); in mtip_handle_irq() 804 writel(hba_stat, dd->mmio + HOST_IRQ_STAT); in mtip_handle_irq() 2205 readl(dd->mmio + HOST_IRQ_STAT)); in mtip_hw_read_registers() 2802 writel(readl(dd->mmio + HOST_IRQ_STAT), in mtip_hw_init() 2803 dd->mmio + HOST_IRQ_STAT); in mtip_hw_init()
|