Commit 2a893dea authored by Hartmut Birr's avatar Hartmut Birr Committed by Mauro Carvalho Chehab

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: default avatarHartmut Birr <e9hack@gmail.com>
Signed-off-by: default avatarOliver Endriss <o.endriss@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 97a2cf05
...@@ -360,7 +360,7 @@ static int ciintf_init(struct budget_av *budget_av) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment