* [PATCH 1/2] mn88472: fix firmware downloading
@ 2014-12-08 20:31 Benjamin Larsson
2014-12-08 20:31 ` [PATCH 2/2] mn88472: implement firmware parity check Benjamin Larsson
2014-12-08 20:55 ` [PATCH 1/2] mn88472: fix firmware downloading Antti Palosaari
0 siblings, 2 replies; 5+ messages in thread
From: Benjamin Larsson @ 2014-12-08 20:31 UTC (permalink / raw)
To: Antti Palosaari; +Cc: Linux Media Mailing List
The max amount of payload bytes in each i2c transfer when
loading the demodulator firmware is 16 bytes.
Signed-off-by: Benjamin Larsson <benjamin@southpole.se>
---
drivers/staging/media/mn88472/mn88472.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/media/mn88472/mn88472.c b/drivers/staging/media/mn88472/mn88472.c
index ffee187..df7dbe9 100644
--- a/drivers/staging/media/mn88472/mn88472.c
+++ b/drivers/staging/media/mn88472/mn88472.c
@@ -15,6 +15,7 @@
*/
#include "mn88472_priv.h"
+#define FW_BUF_SIZE 16
static int mn88472_get_tune_settings(struct dvb_frontend *fe,
struct dvb_frontend_tune_settings *s)
@@ -331,10 +332,10 @@ static int mn88472_init(struct dvb_frontend *fe)
goto err;
for (remaining = fw->size; remaining > 0;
- remaining -= (dev->i2c_wr_max - 1)) {
+ remaining -= FW_BUF_SIZE) {
len = remaining;
- if (len > (dev->i2c_wr_max - 1))
- len = (dev->i2c_wr_max - 1);
+ if (len > FW_BUF_SIZE)
+ len = FW_BUF_SIZE;
ret = regmap_bulk_write(dev->regmap[0], 0xf6,
&fw->data[fw->size - remaining], len);
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] mn88472: implement firmware parity check
2014-12-08 20:31 [PATCH 1/2] mn88472: fix firmware downloading Benjamin Larsson
@ 2014-12-08 20:31 ` Benjamin Larsson
2014-12-08 20:59 ` Antti Palosaari
2014-12-08 20:55 ` [PATCH 1/2] mn88472: fix firmware downloading Antti Palosaari
1 sibling, 1 reply; 5+ messages in thread
From: Benjamin Larsson @ 2014-12-08 20:31 UTC (permalink / raw)
To: Antti Palosaari; +Cc: Linux Media Mailing List
Signed-off-by: Benjamin Larsson <benjamin@southpole.se>
---
drivers/staging/media/mn88472/mn88472.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/staging/media/mn88472/mn88472.c b/drivers/staging/media/mn88472/mn88472.c
index df7dbe9..1df85a7 100644
--- a/drivers/staging/media/mn88472/mn88472.c
+++ b/drivers/staging/media/mn88472/mn88472.c
@@ -294,6 +294,7 @@ static int mn88472_init(struct dvb_frontend *fe)
int ret, len, remaining;
const struct firmware *fw = NULL;
u8 *fw_file = MN88472_FIRMWARE;
+ unsigned int csum;
dev_dbg(&client->dev, "\n");
@@ -346,6 +347,20 @@ static int mn88472_init(struct dvb_frontend *fe)
}
}
+ /* parity check of firmware */
+ ret = regmap_read(dev->regmap[0], 0xf8, &csum);
+ if (ret) {
+ dev_err(&client->dev,
+ "parity reg read failed=%d\n", ret);
+ goto err;
+ }
+ if (csum & 0x10) {
+ dev_err(&client->dev,
+ "firmware parity check failed=0x%x\n", csum);
+ goto err;
+ }
+ dev_err(&client->dev, "firmware parity check succeeded=0x%x\n", csum);
+
ret = regmap_write(dev->regmap[0], 0xf5, 0x00);
if (ret)
goto err;
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] mn88472: fix firmware downloading
2014-12-08 20:31 [PATCH 1/2] mn88472: fix firmware downloading Benjamin Larsson
2014-12-08 20:31 ` [PATCH 2/2] mn88472: implement firmware parity check Benjamin Larsson
@ 2014-12-08 20:55 ` Antti Palosaari
2014-12-08 20:59 ` Benjamin Larsson
1 sibling, 1 reply; 5+ messages in thread
From: Antti Palosaari @ 2014-12-08 20:55 UTC (permalink / raw)
To: Benjamin Larsson; +Cc: Linux Media Mailing List
Moikka!
But that patch is rather useless :] Only thing needed is to change
existing value in file drivers/media/usb/dvb-usb-v2/rtl28xxu.c :
mn88472_config.i2c_wr_max = 22,
... and that leaves room for use even smaller values if there is an I2C
adapter which cannot write even 17 bytes.
2nd thing is to add comment mn88472.h to specify that max limit and
that's all.
regards
Antti
On 12/08/2014 10:31 PM, Benjamin Larsson wrote:
> The max amount of payload bytes in each i2c transfer when
> loading the demodulator firmware is 16 bytes.
>
> Signed-off-by: Benjamin Larsson <benjamin@southpole.se>
> ---
> drivers/staging/media/mn88472/mn88472.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/media/mn88472/mn88472.c b/drivers/staging/media/mn88472/mn88472.c
> index ffee187..df7dbe9 100644
> --- a/drivers/staging/media/mn88472/mn88472.c
> +++ b/drivers/staging/media/mn88472/mn88472.c
> @@ -15,6 +15,7 @@
> */
>
> #include "mn88472_priv.h"
> +#define FW_BUF_SIZE 16
>
> static int mn88472_get_tune_settings(struct dvb_frontend *fe,
> struct dvb_frontend_tune_settings *s)
> @@ -331,10 +332,10 @@ static int mn88472_init(struct dvb_frontend *fe)
> goto err;
>
> for (remaining = fw->size; remaining > 0;
> - remaining -= (dev->i2c_wr_max - 1)) {
> + remaining -= FW_BUF_SIZE) {
> len = remaining;
> - if (len > (dev->i2c_wr_max - 1))
> - len = (dev->i2c_wr_max - 1);
> + if (len > FW_BUF_SIZE)
> + len = FW_BUF_SIZE;
>
> ret = regmap_bulk_write(dev->regmap[0], 0xf6,
> &fw->data[fw->size - remaining], len);
>
--
http://palosaari.fi/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] mn88472: fix firmware downloading
2014-12-08 20:55 ` [PATCH 1/2] mn88472: fix firmware downloading Antti Palosaari
@ 2014-12-08 20:59 ` Benjamin Larsson
0 siblings, 0 replies; 5+ messages in thread
From: Benjamin Larsson @ 2014-12-08 20:59 UTC (permalink / raw)
To: Antti Palosaari; +Cc: Linux Media Mailing List
On 12/08/2014 09:55 PM, Antti Palosaari wrote:
> Moikka!
>
> But that patch is rather useless :] Only thing needed is to change
> existing value in file drivers/media/usb/dvb-usb-v2/rtl28xxu.c :
> mn88472_config.i2c_wr_max = 22,
> ... and that leaves room for use even smaller values if there is an
> I2C adapter which cannot write even 17 bytes.
>
> 2nd thing is to add comment mn88472.h to specify that max limit and
> that's all.
>
> regards
> Antti
Ok, I'll do that.
MvH
Benjamin Larsson
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] mn88472: implement firmware parity check
2014-12-08 20:31 ` [PATCH 2/2] mn88472: implement firmware parity check Benjamin Larsson
@ 2014-12-08 20:59 ` Antti Palosaari
0 siblings, 0 replies; 5+ messages in thread
From: Antti Palosaari @ 2014-12-08 20:59 UTC (permalink / raw)
To: Benjamin Larsson; +Cc: Linux Media Mailing List
Reviewed-by: Antti Palosaari <crope@iki.fi>
PS. something to say about logging levels... but as it is staging
driver, criteria for patches is not so high yet.
regards
Antti
On 12/08/2014 10:31 PM, Benjamin Larsson wrote:
> Signed-off-by: Benjamin Larsson <benjamin@southpole.se>
> ---
> drivers/staging/media/mn88472/mn88472.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/staging/media/mn88472/mn88472.c b/drivers/staging/media/mn88472/mn88472.c
> index df7dbe9..1df85a7 100644
> --- a/drivers/staging/media/mn88472/mn88472.c
> +++ b/drivers/staging/media/mn88472/mn88472.c
> @@ -294,6 +294,7 @@ static int mn88472_init(struct dvb_frontend *fe)
> int ret, len, remaining;
> const struct firmware *fw = NULL;
> u8 *fw_file = MN88472_FIRMWARE;
> + unsigned int csum;
>
> dev_dbg(&client->dev, "\n");
>
> @@ -346,6 +347,20 @@ static int mn88472_init(struct dvb_frontend *fe)
> }
> }
>
> + /* parity check of firmware */
> + ret = regmap_read(dev->regmap[0], 0xf8, &csum);
> + if (ret) {
> + dev_err(&client->dev,
> + "parity reg read failed=%d\n", ret);
> + goto err;
> + }
> + if (csum & 0x10) {
> + dev_err(&client->dev,
> + "firmware parity check failed=0x%x\n", csum);
> + goto err;
> + }
> + dev_err(&client->dev, "firmware parity check succeeded=0x%x\n", csum);
> +
> ret = regmap_write(dev->regmap[0], 0xf5, 0x00);
> if (ret)
> goto err;
>
--
http://palosaari.fi/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-12-08 20:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-08 20:31 [PATCH 1/2] mn88472: fix firmware downloading Benjamin Larsson
2014-12-08 20:31 ` [PATCH 2/2] mn88472: implement firmware parity check Benjamin Larsson
2014-12-08 20:59 ` Antti Palosaari
2014-12-08 20:55 ` [PATCH 1/2] mn88472: fix firmware downloading Antti Palosaari
2014-12-08 20:59 ` Benjamin Larsson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).