aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2011-02-01 17:40:25 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 19:32:20 -0400
commitcaa687c805332a384afd292e2b20e25a6282ed66 (patch)
tree5775537c914cd2e076d74fafe08e0afc97464ddb
parent2a66bf370c2aca617fad8dd8fe6c276d6bb1b44c (diff)
[media] ds3000: loading firmware in bigger chunks
Decrease firmware loading time. Before it is ~4000 i2c calls, now it is ~256 i2c calls to load ds3000 firmware. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/dvb/frontends/ds3000.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/media/dvb/frontends/ds3000.c b/drivers/media/dvb/frontends/ds3000.c
index 41af75adc575..b2f0f4e8e512 100644
--- a/drivers/media/dvb/frontends/ds3000.c
+++ b/drivers/media/dvb/frontends/ds3000.c
@@ -305,7 +305,7 @@ static int ds3000_writeFW(struct ds3000_state *state, int reg,
305 struct i2c_msg msg; 305 struct i2c_msg msg;
306 u8 *buf; 306 u8 *buf;
307 307
308 buf = kmalloc(3, GFP_KERNEL); 308 buf = kmalloc(33, GFP_KERNEL);
309 if (buf == NULL) { 309 if (buf == NULL) {
310 printk(KERN_ERR "Unable to kmalloc\n"); 310 printk(KERN_ERR "Unable to kmalloc\n");
311 ret = -ENOMEM; 311 ret = -ENOMEM;
@@ -317,10 +317,10 @@ static int ds3000_writeFW(struct ds3000_state *state, int reg,
317 msg.addr = state->config->demod_address; 317 msg.addr = state->config->demod_address;
318 msg.flags = 0; 318 msg.flags = 0;
319 msg.buf = buf; 319 msg.buf = buf;
320 msg.len = 3; 320 msg.len = 33;
321 321
322 for (i = 0; i < len; i += 2) { 322 for (i = 0; i < len; i += 32) {
323 memcpy(buf + 1, data + i, 2); 323 memcpy(buf + 1, data + i, 32);
324 324
325 dprintk("%s: write reg 0x%02x, len = %d\n", __func__, reg, len); 325 dprintk("%s: write reg 0x%02x, len = %d\n", __func__, reg, len);
326 326