mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge tag 'kvm-for-3.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into kvm-next
This commit is contained in:
commit
1c2af4968e
751 changed files with 9692 additions and 4139 deletions
|
|
@ -342,8 +342,9 @@ static int cio_check_config(struct subchannel *sch, struct schib *schib)
|
|||
*/
|
||||
int cio_commit_config(struct subchannel *sch)
|
||||
{
|
||||
struct schib schib;
|
||||
int ccode, retry, ret = 0;
|
||||
struct schib schib;
|
||||
struct irb irb;
|
||||
|
||||
if (stsch_err(sch->schid, &schib) || !css_sch_is_valid(&schib))
|
||||
return -ENODEV;
|
||||
|
|
@ -367,7 +368,10 @@ int cio_commit_config(struct subchannel *sch)
|
|||
ret = -EAGAIN;
|
||||
break;
|
||||
case 1: /* status pending */
|
||||
return -EBUSY;
|
||||
ret = -EBUSY;
|
||||
if (tsch(sch->schid, &irb))
|
||||
return ret;
|
||||
break;
|
||||
case 2: /* busy */
|
||||
udelay(100); /* allow for recovery */
|
||||
ret = -EBUSY;
|
||||
|
|
@ -403,7 +407,6 @@ EXPORT_SYMBOL_GPL(cio_update_schib);
|
|||
*/
|
||||
int cio_enable_subchannel(struct subchannel *sch, u32 intparm)
|
||||
{
|
||||
int retry;
|
||||
int ret;
|
||||
|
||||
CIO_TRACE_EVENT(2, "ensch");
|
||||
|
|
@ -418,20 +421,14 @@ int cio_enable_subchannel(struct subchannel *sch, u32 intparm)
|
|||
sch->config.isc = sch->isc;
|
||||
sch->config.intparm = intparm;
|
||||
|
||||
for (retry = 0; retry < 3; retry++) {
|
||||
ret = cio_commit_config(sch);
|
||||
if (ret == -EIO) {
|
||||
/*
|
||||
* Got a program check in msch. Try without
|
||||
* the concurrent sense bit the next time.
|
||||
*/
|
||||
sch->config.csense = 0;
|
||||
ret = cio_commit_config(sch);
|
||||
if (ret == -EIO) {
|
||||
/*
|
||||
* Got a program check in msch. Try without
|
||||
* the concurrent sense bit the next time.
|
||||
*/
|
||||
sch->config.csense = 0;
|
||||
} else if (ret == -EBUSY) {
|
||||
struct irb irb;
|
||||
if (tsch(sch->schid, &irb) != 0)
|
||||
break;
|
||||
} else
|
||||
break;
|
||||
}
|
||||
CIO_HEX_EVENT(2, &ret, sizeof(ret));
|
||||
return ret;
|
||||
|
|
@ -444,7 +441,6 @@ EXPORT_SYMBOL_GPL(cio_enable_subchannel);
|
|||
*/
|
||||
int cio_disable_subchannel(struct subchannel *sch)
|
||||
{
|
||||
int retry;
|
||||
int ret;
|
||||
|
||||
CIO_TRACE_EVENT(2, "dissch");
|
||||
|
|
@ -456,16 +452,8 @@ int cio_disable_subchannel(struct subchannel *sch)
|
|||
return -ENODEV;
|
||||
|
||||
sch->config.ena = 0;
|
||||
ret = cio_commit_config(sch);
|
||||
|
||||
for (retry = 0; retry < 3; retry++) {
|
||||
ret = cio_commit_config(sch);
|
||||
if (ret == -EBUSY) {
|
||||
struct irb irb;
|
||||
if (tsch(sch->schid, &irb) != 0)
|
||||
break;
|
||||
} else
|
||||
break;
|
||||
}
|
||||
CIO_HEX_EVENT(2, &ret, sizeof(ret));
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -359,14 +359,12 @@ static inline int multicast_outbound(struct qdio_q *q)
|
|||
#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, q = irq_ptr->input_qs[0]; \
|
||||
i < irq_ptr->nr_input_qs; \
|
||||
q = irq_ptr->input_qs[++i])
|
||||
#define for_each_output_queue(irq_ptr, q, i) \
|
||||
for (i = 0, q = irq_ptr->output_qs[0]; \
|
||||
i < irq_ptr->nr_output_qs; \
|
||||
q = irq_ptr->output_qs[++i])
|
||||
#define for_each_input_queue(irq_ptr, q, i) \
|
||||
for (i = 0; i < irq_ptr->nr_input_qs && \
|
||||
({ q = irq_ptr->input_qs[i]; 1; }); i++)
|
||||
#define for_each_output_queue(irq_ptr, q, i) \
|
||||
for (i = 0; i < irq_ptr->nr_output_qs && \
|
||||
({ q = irq_ptr->output_qs[i]; 1; }); i++)
|
||||
|
||||
#define prev_buf(bufnr) \
|
||||
((bufnr + QDIO_MAX_BUFFERS_MASK) & QDIO_MAX_BUFFERS_MASK)
|
||||
|
|
|
|||
|
|
@ -996,7 +996,7 @@ static void qdio_int_handler_pci(struct qdio_irq *irq_ptr)
|
|||
}
|
||||
}
|
||||
|
||||
if (!pci_out_supported(q))
|
||||
if (!(irq_ptr->qib.ac & QIB_AC_OUTBOUND_PCI_SUPPORTED))
|
||||
return;
|
||||
|
||||
for_each_output_queue(irq_ptr, q, i) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue