diff options
author | Manu Abraham <abraham.manu@gmail.com> | 2009-12-04 03:16:24 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-01-17 08:55:36 -0500 |
commit | b2d8f5eafd31cd7bc722dc93057d8c5fd5b688ab (patch) | |
tree | b004273a04de6416c0d88efa49e2b62a68f03cf9 /drivers | |
parent | 4d5a28efda3ce12529e4b90832184f62c7a50848 (diff) |
V4L/DVB (13751): [Mantis] GPIO_CONTROL: Do not toggle GPIO CW's on HIF operations
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb/mantis/mantis_common.h | 2 | ||||
-rw-r--r-- | drivers/media/dvb/mantis/mantis_hif.c | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/media/dvb/mantis/mantis_common.h b/drivers/media/dvb/mantis/mantis_common.h index 75f07736e001..49f2f118b498 100644 --- a/drivers/media/dvb/mantis/mantis_common.h +++ b/drivers/media/dvb/mantis/mantis_common.h | |||
@@ -142,6 +142,8 @@ struct mantis_pci { | |||
142 | struct mantis_ca *mantis_ca; | 142 | struct mantis_ca *mantis_ca; |
143 | }; | 143 | }; |
144 | 144 | ||
145 | #define MANTIS_HIF_STATUS (mantis->gpio_status << 12) | ||
146 | |||
145 | extern unsigned int verbose; | 147 | extern unsigned int verbose; |
146 | extern unsigned int devs; | 148 | extern unsigned int devs; |
147 | extern unsigned int i2c; | 149 | extern unsigned int i2c; |
diff --git a/drivers/media/dvb/mantis/mantis_hif.c b/drivers/media/dvb/mantis/mantis_hif.c index d18fe4152449..96611b67cb4b 100644 --- a/drivers/media/dvb/mantis/mantis_hif.c +++ b/drivers/media/dvb/mantis/mantis_hif.c | |||
@@ -56,6 +56,7 @@ static int mantis_hif_sbuf_opdone_wait(struct mantis_ca *ca) | |||
56 | return rc; | 56 | return rc; |
57 | } | 57 | } |
58 | 58 | ||
59 | |||
59 | int mantis_hif_read_mem(struct mantis_ca *ca, u32 addr) | 60 | int mantis_hif_read_mem(struct mantis_ca *ca, u32 addr) |
60 | { | 61 | { |
61 | struct mantis_pci *mantis = ca->ca_priv; | 62 | struct mantis_pci *mantis = ca->ca_priv; |
@@ -67,7 +68,7 @@ int mantis_hif_read_mem(struct mantis_ca *ca, u32 addr) | |||
67 | hif_addr &= ~MANTIS_GPIF_PCMCIAIOM; | 68 | hif_addr &= ~MANTIS_GPIF_PCMCIAIOM; |
68 | hif_addr |= addr; | 69 | hif_addr |= addr; |
69 | 70 | ||
70 | mmwrite(hif_addr, MANTIS_GPIF_BRADDR); | 71 | mmwrite(hif_addr | MANTIS_HIF_STATUS, MANTIS_GPIF_BRADDR); |
71 | mmwrite(count, MANTIS_GPIF_BRBYTES); | 72 | mmwrite(count, MANTIS_GPIF_BRBYTES); |
72 | 73 | ||
73 | udelay(20); | 74 | udelay(20); |
@@ -100,7 +101,7 @@ int mantis_hif_write_mem(struct mantis_ca *ca, u32 addr, u8 data) | |||
100 | 101 | ||
101 | mmwrite(slot->slave_cfg, MANTIS_GPIF_CFGSLA); /* Slot0 alone for now */ | 102 | mmwrite(slot->slave_cfg, MANTIS_GPIF_CFGSLA); /* Slot0 alone for now */ |
102 | 103 | ||
103 | mmwrite(hif_addr, MANTIS_GPIF_ADDR); | 104 | mmwrite(hif_addr | MANTIS_HIF_STATUS, MANTIS_GPIF_ADDR); |
104 | mmwrite(data, MANTIS_GPIF_DOUT); | 105 | mmwrite(data, MANTIS_GPIF_DOUT); |
105 | ca->hif_job_queue = MANTIS_HIF_MEMWR; | 106 | ca->hif_job_queue = MANTIS_HIF_MEMWR; |
106 | 107 | ||
@@ -124,7 +125,7 @@ int mantis_hif_read_iom(struct mantis_ca *ca, u32 addr) | |||
124 | hif_addr |= MANTIS_GPIF_PCMCIAIOM; | 125 | hif_addr |= MANTIS_GPIF_PCMCIAIOM; |
125 | hif_addr |= addr; | 126 | hif_addr |= addr; |
126 | 127 | ||
127 | mmwrite(hif_addr, MANTIS_GPIF_ADDR); | 128 | mmwrite(hif_addr | MANTIS_HIF_STATUS, MANTIS_GPIF_ADDR); |
128 | ca->hif_job_queue = MANTIS_HIF_IOMRD; | 129 | ca->hif_job_queue = MANTIS_HIF_IOMRD; |
129 | 130 | ||
130 | if (mantis_hif_sbuf_opdone_wait(ca) != 0) { | 131 | if (mantis_hif_sbuf_opdone_wait(ca) != 0) { |
@@ -152,7 +153,7 @@ int mantis_hif_write_iom(struct mantis_ca *ca, u32 addr, u8 data) | |||
152 | hif_addr |= MANTIS_GPIF_PCMCIAIOM; | 153 | hif_addr |= MANTIS_GPIF_PCMCIAIOM; |
153 | hif_addr |= addr; | 154 | hif_addr |= addr; |
154 | 155 | ||
155 | mmwrite(hif_addr, MANTIS_GPIF_ADDR); | 156 | mmwrite(hif_addr | MANTIS_HIF_STATUS, MANTIS_GPIF_ADDR); |
156 | mmwrite(data, MANTIS_GPIF_DOUT); | 157 | mmwrite(data, MANTIS_GPIF_DOUT); |
157 | 158 | ||
158 | ca->hif_job_queue = MANTIS_HIF_IOMWR; | 159 | ca->hif_job_queue = MANTIS_HIF_IOMWR; |