Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 65127
b: refs/heads/master
c: 1146fe3
h: refs/heads/master
i:
  65125: 2f98f3e
  65123: 9c17801
  65119: e95fb7e
v: v3
  • Loading branch information
Ralf Baechle committed Sep 24, 2007
1 parent 42c042a commit 481d262
Show file tree
Hide file tree
Showing 10 changed files with 74 additions and 306 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4f33e21c923c1656fb9e3d6fe2302e34e9e079a4
refs/heads/master: 1146fe30504a1edd8a434f500e1be139492570c9
219 changes: 0 additions & 219 deletions trunk/Documentation/crypto/async-tx-api.txt

This file was deleted.

5 changes: 1 addition & 4 deletions trunk/arch/mips/kernel/i8259.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,10 +177,7 @@ void mask_and_ack_8259A(unsigned int irq)
outb(cached_master_mask, PIC_MASTER_IMR);
outb(0x60+irq,PIC_MASTER_CMD); /* 'Specific EOI to master */
}
#ifdef CONFIG_MIPS_MT_SMTC
if (irq_hwmask[irq] & ST0_IM)
set_c0_status(irq_hwmask[irq] & ST0_IM);
#endif /* CONFIG_MIPS_MT_SMTC */
smtc_im_ack_irq(irq);
spin_unlock_irqrestore(&i8259A_lock, flags);
return;

Expand Down
10 changes: 2 additions & 8 deletions trunk/arch/mips/kernel/irq-msc01.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,8 @@ static void level_mask_and_ack_msc_irq(unsigned int irq)
mask_msc_irq(irq);
if (!cpu_has_veic)
MSCIC_WRITE(MSC01_IC_EOI, 0);
#ifdef CONFIG_MIPS_MT_SMTC
/* This actually needs to be a call into platform code */
if (irq_hwmask[irq] & ST0_IM)
set_c0_status(irq_hwmask[irq] & ST0_IM);
#endif /* CONFIG_MIPS_MT_SMTC */
smtc_im_ack_irq(irq);
}

/*
Expand All @@ -73,10 +70,7 @@ static void edge_mask_and_ack_msc_irq(unsigned int irq)
MSCIC_WRITE(MSC01_IC_SUP+irq*8, r | ~MSC01_IC_SUP_EDGE_BIT);
MSCIC_WRITE(MSC01_IC_SUP+irq*8, r);
}
#ifdef CONFIG_MIPS_MT_SMTC
if (irq_hwmask[irq] & ST0_IM)
set_c0_status(irq_hwmask[irq] & ST0_IM);
#endif /* CONFIG_MIPS_MT_SMTC */
smtc_im_ack_irq(irq);
}

/*
Expand Down
10 changes: 1 addition & 9 deletions trunk/arch/mips/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,20 +74,12 @@ EXPORT_SYMBOL_GPL(free_irqno);
*/
void ack_bad_irq(unsigned int irq)
{
smtc_im_ack_irq(irq);
printk("unexpected IRQ # %d\n", irq);
}

atomic_t irq_err_count;

#ifdef CONFIG_MIPS_MT_SMTC
/*
* SMTC Kernel needs to manipulate low-level CPU interrupt mask
* in do_IRQ. These are passed in setup_irq_smtc() and stored
* in this table.
*/
unsigned long irq_hwmask[NR_IRQS];
#endif /* CONFIG_MIPS_MT_SMTC */

/*
* Generic, controller-independent functions:
*/
Expand Down
5 changes: 4 additions & 1 deletion trunk/arch/mips/kernel/smtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,11 @@
#include <asm/smtc_proc.h>

/*
* This file should be built into the kernel only if CONFIG_MIPS_MT_SMTC is set.
* SMTC Kernel needs to manipulate low-level CPU interrupt mask
* in do_IRQ. These are passed in setup_irq_smtc() and stored
* in this table.
*/
unsigned long irq_hwmask[NR_IRQS];

#define LOCK_MT_PRA() \
local_irq_save(flags); \
Expand Down
12 changes: 2 additions & 10 deletions trunk/crypto/async_tx/async_tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,23 +80,15 @@ dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx)
{
enum dma_status status;
struct dma_async_tx_descriptor *iter;
struct dma_async_tx_descriptor *parent;

if (!tx)
return DMA_SUCCESS;

/* poll through the dependency chain, return when tx is complete */
do {
iter = tx;

/* find the root of the unsubmitted dependency chain */
while (iter->cookie == -EBUSY) {
parent = iter->parent;
if (parent && parent->cookie == -EBUSY)
iter = iter->parent;
else
break;
}
while (iter->cookie == -EBUSY)
iter = iter->parent;

status = dma_sync_wait(iter->chan, iter->cookie);
} while (status == DMA_IN_PROGRESS || (iter != tx));
Expand Down
17 changes: 10 additions & 7 deletions trunk/drivers/md/raid5.c
Original file line number Diff line number Diff line change
Expand Up @@ -514,22 +514,24 @@ static void ops_complete_biofill(void *stripe_head_ref)
struct stripe_head *sh = stripe_head_ref;
struct bio *return_bi = NULL;
raid5_conf_t *conf = sh->raid_conf;
int i;
int i, more_to_read = 0;

pr_debug("%s: stripe %llu\n", __FUNCTION__,
(unsigned long long)sh->sector);

/* clear completed biofills */
for (i = sh->disks; i--; ) {
struct r5dev *dev = &sh->dev[i];
/* check if this stripe has new incoming reads */
if (dev->toread)
more_to_read++;

/* acknowledge completion of a biofill operation */
/* and check if we need to reply to a read request,
* new R5_Wantfill requests are held off until
* !test_bit(STRIPE_OP_BIOFILL, &sh->ops.pending)
*/
if (test_and_clear_bit(R5_Wantfill, &dev->flags)) {
/* and check if we need to reply to a read request
*/
if (test_bit(R5_Wantfill, &dev->flags) && !dev->toread) {
struct bio *rbi, *rbi2;
clear_bit(R5_Wantfill, &dev->flags);

/* The access to dev->read is outside of the
* spin_lock_irq(&conf->device_lock), but is protected
Expand All @@ -556,7 +558,8 @@ static void ops_complete_biofill(void *stripe_head_ref)

return_io(return_bi);

set_bit(STRIPE_HANDLE, &sh->state);
if (more_to_read)
set_bit(STRIPE_HANDLE, &sh->state);
release_stripe(sh);
}

Expand Down
Loading

0 comments on commit 481d262

Please sign in to comment.