On 12/08/2014 06:46 PM, Antti Palosaari wrote:
Hello!
[...]
regmap_bulk_write(): Write multiple registers to the device
In this case we want to write multiple bytes to the same register. So I
think that my patch is correct in principle.
You haven't make any test whether it is possible to write that
firmware in a large chunks *or* writing one byte (smallest possible
~chuck) at the time? I think it does not matter. I suspect you could
even download whole firmware as one go - but rtl2832p I2C adapter does
support only 22 bytes on one xfer.
Even those are written to one register, chip knows how many bytes one
message has and could increase its internal address counter. That is
usually called register address auto-increment.
A) writing:
f6 00
f6 01
f6 02
f6 03
f6 04
f6 05
f6 06
f6 07
f6 08
f6 09
B) writing:
f6 00 01 02 03 04
f6 05 06 07 08 09
will likely end up same. B is better as only 2 xfers are done - much
less IO.
regards
Antti
Hello Antti.
I have now tried the following patch on top of my load defaults patch.
index a7d35bb..fd9796d
--- a/drivers/staging/media/mn88472/mn88472.c
+++ b/drivers/staging/media/mn88472/mn88472.c
@@ -467,7 +467,7 @@ static int mn88472_probe(struct i2c_client *client,
goto err;
}
- dev->i2c_wr_max = config->i2c_wr_max;
+ dev->i2c_wr_max = 2;
dev->xtal = config->xtal;
dev->ts_mode = config->ts_mode;
dev->ts_clock = config->ts_clock;
With this patch I get data, without it I don't. Based on that info I
started testing different i2c wr max values.
When I got to 18 it stopped working. So it seams like both you and me
where right. We can write several
values at once but only a maximum of 16.
I have a patch that adds parity check of the firmware and all the times
the check succeeded but the demodulator
didn't deliver data. So I guess that the parity checker is before the 16
byte buffer and if you write more the data is
just ignored.
I will send an updated patch based on this.
MvH
Benjamin Larsson
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html