s390/qdio: remove unused sync-after-IRQ infrastructure
The queue processing is fully decoupled from any preceding interrupt, so we're no longer making any use of the sync-after-IRQ HW capabilities. And as SIGA-sync is a legacy feature, there's also not much point in re-designing the driver & qdio-layer code just so that we can potentially avoid a few syncs. So just remove all the leftover code. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
eade5f61a5
commit
e2af48df5c
|
@ -130,9 +130,7 @@ struct siga_flag {
|
|||
u8 input:1;
|
||||
u8 output:1;
|
||||
u8 sync:1;
|
||||
u8 sync_after_ai:1;
|
||||
u8 sync_out_after_pci:1;
|
||||
u8:3;
|
||||
u8:5;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct qdio_dev_perf_stat {
|
||||
|
@ -317,10 +315,6 @@ static inline void qdio_deliver_irq(struct qdio_irq *irq)
|
|||
#define need_siga_in(q) (q->irq_ptr->siga_flag.input)
|
||||
#define need_siga_out(q) (q->irq_ptr->siga_flag.output)
|
||||
#define need_siga_sync(q) (unlikely(q->irq_ptr->siga_flag.sync))
|
||||
#define need_siga_sync_after_ai(q) \
|
||||
(unlikely(q->irq_ptr->siga_flag.sync_after_ai))
|
||||
#define need_siga_sync_out_after_pci(q) \
|
||||
(unlikely(q->irq_ptr->siga_flag.sync_out_after_pci))
|
||||
|
||||
#define for_each_input_queue(irq_ptr, q, i) \
|
||||
for (i = 0; i < irq_ptr->nr_input_qs && \
|
||||
|
|
|
@ -278,10 +278,6 @@ static void process_ac_flags(struct qdio_irq *irq_ptr, unsigned char qdioac)
|
|||
irq_ptr->siga_flag.output = 1;
|
||||
if (qdioac & AC1_SIGA_SYNC_NEEDED)
|
||||
irq_ptr->siga_flag.sync = 1;
|
||||
if (!(qdioac & AC1_AUTOMATIC_SYNC_ON_THININT))
|
||||
irq_ptr->siga_flag.sync_after_ai = 1;
|
||||
if (!(qdioac & AC1_AUTOMATIC_SYNC_ON_OUT_PCI))
|
||||
irq_ptr->siga_flag.sync_out_after_pci = 1;
|
||||
}
|
||||
|
||||
static void check_and_setup_qebsm(struct qdio_irq *irq_ptr,
|
||||
|
@ -495,8 +491,7 @@ void qdio_print_subchannel_info(struct qdio_irq *irq_ptr)
|
|||
{
|
||||
char s[80];
|
||||
|
||||
snprintf(s, 80, "qdio: %s %s on SC %x using "
|
||||
"AI:%d QEBSM:%d PRI:%d TDD:%d SIGA:%s%s%s%s%s\n",
|
||||
snprintf(s, 80, "qdio: %s %s on SC %x using AI:%d QEBSM:%d PRI:%d TDD:%d SIGA:%s%s%s\n",
|
||||
dev_name(&irq_ptr->cdev->dev),
|
||||
(irq_ptr->qib.qfmt == QDIO_QETH_QFMT) ? "OSA" :
|
||||
((irq_ptr->qib.qfmt == QDIO_ZFCP_QFMT) ? "ZFCP" : "HS"),
|
||||
|
@ -507,9 +502,7 @@ void qdio_print_subchannel_info(struct qdio_irq *irq_ptr)
|
|||
css_general_characteristics.aif_tdd,
|
||||
(irq_ptr->siga_flag.input) ? "R" : " ",
|
||||
(irq_ptr->siga_flag.output) ? "W" : " ",
|
||||
(irq_ptr->siga_flag.sync) ? "S" : " ",
|
||||
(irq_ptr->siga_flag.sync_after_ai) ? "A" : " ",
|
||||
(irq_ptr->siga_flag.sync_out_after_pci) ? "P" : " ");
|
||||
(irq_ptr->siga_flag.sync) ? "S" : " ");
|
||||
printk(KERN_INFO "%s", s);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue