diff options
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/budget-core.c')
-rw-r--r-- | linux/drivers/media/dvb/ttpci/budget-core.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/linux/drivers/media/dvb/ttpci/budget-core.c b/linux/drivers/media/dvb/ttpci/budget-core.c index 6aa42a04d..c85ab0635 100644 --- a/linux/drivers/media/dvb/ttpci/budget-core.c +++ b/linux/drivers/media/dvb/ttpci/budget-core.c @@ -154,7 +154,8 @@ static void vpeirq(unsigned long data) } -int ttpci_budget_debiread(struct budget *budget, u32 config, int addr, int count, int uselocks) +int ttpci_budget_debiread(struct budget *budget, u32 config, int addr, int count, + int uselocks, int nobusyloop) { struct saa7146_dev *saa = budget->dev; int result = 0; @@ -166,7 +167,7 @@ int ttpci_budget_debiread(struct budget *budget, u32 config, int addr, int count if (uselocks) spin_lock_irqsave(&budget->debilock, flags); - if ((result = saa7146_wait_for_debi_done(saa, !uselocks)) < 0) { + if ((result = saa7146_wait_for_debi_done(saa, nobusyloop)) < 0) { if (uselocks) spin_unlock_irqrestore(&budget->debilock, flags); return result; @@ -177,7 +178,7 @@ int ttpci_budget_debiread(struct budget *budget, u32 config, int addr, int count saa7146_write(saa, DEBI_PAGE, 0); saa7146_write(saa, MC2, (2 << 16) | 2); - if ((result = saa7146_wait_for_debi_done(saa, !uselocks)) < 0) { + if ((result = saa7146_wait_for_debi_done(saa, nobusyloop)) < 0) { if (uselocks) spin_unlock_irqrestore(&budget->debilock, flags); return result; @@ -193,7 +194,7 @@ int ttpci_budget_debiread(struct budget *budget, u32 config, int addr, int count } int ttpci_budget_debiwrite(struct budget *budget, u32 config, int addr, - int count, u32 value, int uselocks) + int count, u32 value, int uselocks, int nobusyloop) { struct saa7146_dev *saa = budget->dev; unsigned long flags = 0; @@ -205,7 +206,7 @@ int ttpci_budget_debiwrite(struct budget *budget, u32 config, int addr, if (uselocks) spin_lock_irqsave(&budget->debilock, flags); - if ((result = saa7146_wait_for_debi_done(saa, !uselocks)) < 0) { + if ((result = saa7146_wait_for_debi_done(saa, nobusyloop)) < 0) { if (uselocks) spin_unlock_irqrestore(&budget->debilock, flags); return result; @@ -217,7 +218,7 @@ int ttpci_budget_debiwrite(struct budget *budget, u32 config, int addr, saa7146_write(saa, DEBI_AD, value); saa7146_write(saa, MC2, (2 << 16) | 2); - if ((result = saa7146_wait_for_debi_done(saa, !uselocks)) < 0) { + if ((result = saa7146_wait_for_debi_done(saa, nobusyloop)) < 0) { if (uselocks) spin_unlock_irqrestore(&budget->debilock, flags); return result; |