V4L/DVB (4921): Budget-av, budget-ci: Fix MC1 register programming
Remove bogus read during MC1 programming. A '1' bit could never be cleared using the old code. Use MASK_xx macros. Signed-off-by: Hartmut Birr <e9hack@gmail.com> Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
97a2cf05c4
commit
2a893dea0f
@@ -360,7 +360,7 @@ static int ciintf_init(struct budget_av *budget_av)
|
|||||||
saa7146_setgpio(saa, 3, SAA7146_GPIO_OUTLO);
|
saa7146_setgpio(saa, 3, SAA7146_GPIO_OUTLO);
|
||||||
|
|
||||||
/* Enable DEBI pins */
|
/* Enable DEBI pins */
|
||||||
saa7146_write(saa, MC1, saa7146_read(saa, MC1) | (0x800 << 16) | 0x800);
|
saa7146_write(saa, MC1, MASK_27 | MASK_11);
|
||||||
|
|
||||||
/* register CI interface */
|
/* register CI interface */
|
||||||
budget_av->ca.owner = THIS_MODULE;
|
budget_av->ca.owner = THIS_MODULE;
|
||||||
@@ -386,7 +386,7 @@ static int ciintf_init(struct budget_av *budget_av)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
saa7146_write(saa, MC1, saa7146_read(saa, MC1) | (0x800 << 16));
|
saa7146_write(saa, MC1, MASK_27);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,7 +403,7 @@ static void ciintf_deinit(struct budget_av *budget_av)
|
|||||||
dvb_ca_en50221_release(&budget_av->ca);
|
dvb_ca_en50221_release(&budget_av->ca);
|
||||||
|
|
||||||
/* disable DEBI pins */
|
/* disable DEBI pins */
|
||||||
saa7146_write(saa, MC1, saa7146_read(saa, MC1) | (0x800 << 16));
|
saa7146_write(saa, MC1, MASK_27);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -485,7 +485,7 @@ static int ciintf_init(struct budget_ci *budget_ci)
|
|||||||
memset(&budget_ci->ca, 0, sizeof(struct dvb_ca_en50221));
|
memset(&budget_ci->ca, 0, sizeof(struct dvb_ca_en50221));
|
||||||
|
|
||||||
// enable DEBI pins
|
// enable DEBI pins
|
||||||
saa7146_write(saa, MC1, saa7146_read(saa, MC1) | (0x800 << 16) | 0x800);
|
saa7146_write(saa, MC1, MASK_27 | MASK_11);
|
||||||
|
|
||||||
// test if it is there
|
// test if it is there
|
||||||
ci_version = ttpci_budget_debiread(&budget_ci->budget, DEBICICTL, DEBIADDR_CIVERSION, 1, 1, 0);
|
ci_version = ttpci_budget_debiread(&budget_ci->budget, DEBICICTL, DEBIADDR_CIVERSION, 1, 1, 0);
|
||||||
@@ -559,7 +559,7 @@ static int ciintf_init(struct budget_ci *budget_ci)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
saa7146_write(saa, MC1, saa7146_read(saa, MC1) | (0x800 << 16));
|
saa7146_write(saa, MC1, MASK_27);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -587,7 +587,7 @@ static void ciintf_deinit(struct budget_ci *budget_ci)
|
|||||||
dvb_ca_en50221_release(&budget_ci->ca);
|
dvb_ca_en50221_release(&budget_ci->ca);
|
||||||
|
|
||||||
// disable DEBI pins
|
// disable DEBI pins
|
||||||
saa7146_write(saa, MC1, saa7146_read(saa, MC1) | (0x800 << 16));
|
saa7146_write(saa, MC1, MASK_27);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void budget_ci_irq(struct saa7146_dev *dev, u32 * isr)
|
static void budget_ci_irq(struct saa7146_dev *dev, u32 * isr)
|
||||||
|
Reference in New Issue
Block a user