diff options
Diffstat (limited to 'linux/drivers')
-rw-r--r-- | linux/drivers/media/dvb/ttpci/budget-core.c | 13 | ||||
-rw-r--r-- | linux/drivers/media/dvb/ttpci/budget.h | 4 |
2 files changed, 9 insertions, 8 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; diff --git a/linux/drivers/media/dvb/ttpci/budget.h b/linux/drivers/media/dvb/ttpci/budget.h index 768dc05a4..12d5d006e 100644 --- a/linux/drivers/media/dvb/ttpci/budget.h +++ b/linux/drivers/media/dvb/ttpci/budget.h @@ -101,8 +101,8 @@ extern int ttpci_budget_deinit(struct budget *budget); extern void ttpci_budget_irq10_handler(struct saa7146_dev *dev, u32 * isr); extern void ttpci_budget_set_video_port(struct saa7146_dev *dev, int video_port); extern int ttpci_budget_debiread(struct budget *budget, u32 config, int addr, int count, - int uselocks); + int uselocks, int nobusyloop); extern int ttpci_budget_debiwrite(struct budget *budget, u32 config, int addr, int count, u32 value, - int uselocks); + int uselocks, int nobusyloop); #endif |