summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>2011-09-05 17:39:56 +0530
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 16:05:56 +0200
commitd06d2311d88346740ef7ded29a189cfe40ec1e50 (patch)
treefa62014c827a2af92ea57ad583e9a0aa56896f05
parentdd5d14f4276c6f8bd66ff719544555068c81197e (diff)
video: av8100: Add new firmware version
Updates AV8100 firmware to version 2.3 Linux firmware interface is used. ST-Ericsson ID: 322390 ST-Ericsson Linux next: Not tested, ER 282779 ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Per Persson <per.xb.persson@stericsson.com> Change-Id: I7951b921538af17b3761240393a55a46c2606ddd Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30127 Reviewed-by: Naveen Kumar GADDIPATI <naveen.gaddipati@stericsson.com> Tested-by: Naveen Kumar GADDIPATI <naveen.gaddipati@stericsson.com>
-rw-r--r--drivers/video/av8100/av8100.c3
-rw-r--r--drivers/video/av8100/hdmi.c22
-rw-r--r--drivers/video/mcde/display-av8100.c9
-rw-r--r--include/video/av8100.h3
-rw-r--r--sound/soc/codecs/av8100_audio.c2
5 files changed, 19 insertions, 20 deletions
diff --git a/drivers/video/av8100/av8100.c b/drivers/video/av8100/av8100.c
index 7ce61a83f1f..2b9442b4efc 100644
--- a/drivers/video/av8100/av8100.c
+++ b/drivers/video/av8100/av8100.c
@@ -2271,8 +2271,7 @@ av8100_powerdown_end:
}
EXPORT_SYMBOL(av8100_powerdown);
-int av8100_download_firmware(char *fw_buf, int nbytes,
- enum interface_type if_type)
+int av8100_download_firmware(enum interface_type if_type)
{
int retval;
int temp = 0x0;
diff --git a/drivers/video/av8100/hdmi.c b/drivers/video/av8100/hdmi.c
index c926f65ac26..653cb5b2b23 100644
--- a/drivers/video/av8100/hdmi.c
+++ b/drivers/video/av8100/hdmi.c
@@ -261,7 +261,7 @@ static int edidread(struct hdmi_device *hdev, struct edid_read *edidread,
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -308,7 +308,7 @@ static int cecread(struct hdmi_device *hdev, u8 *src, u8 *dest, u8 *data_len,
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -379,7 +379,7 @@ static int cecsend(struct hdmi_device *hdev, u8 src, u8 dest, u8 data_len,
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -434,7 +434,7 @@ static int infofrsend(struct hdmi_device *hdev, u8 type, u8 version, u8 crc,
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -479,8 +479,7 @@ static int hdcpchkaesotp(struct hdmi_device *hdev, u8 *crc, u8 *progged)
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) !=
- 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -527,8 +526,7 @@ static int hdcpfuseaes(struct hdmi_device *hdev, u8 *key, u8 crc, u8 *result)
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) !=
- 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -582,7 +580,7 @@ static int hdcploadaes(struct hdmi_device *hdev, u8 block, u8 key_len, u8 *key,
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -628,7 +626,7 @@ static int hdcpauthencr(struct hdmi_device *hdev, u8 auth_type, u8 encr_type,
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -739,7 +737,7 @@ static int audiocfg(struct hdmi_device *hdev, struct audio_cfg *cfg)
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
@@ -2175,7 +2173,7 @@ hdcp_authencr_end:
break;
case IOC_HDMI_DOWNLOAD_FW:
- if (av8100_download_firmware(NULL, 0, I2C_INTERFACE) != 0) {
+ if (av8100_download_firmware(I2C_INTERFACE) != 0) {
dev_err(hdev->dev, "av8100 dl fw FAIL\n");
return -EINVAL;
}
diff --git a/drivers/video/mcde/display-av8100.c b/drivers/video/mcde/display-av8100.c
index 5602ec37ba5..31e46b138e1 100644
--- a/drivers/video/mcde/display-av8100.c
+++ b/drivers/video/mcde/display-av8100.c
@@ -835,8 +835,8 @@ static int hdmi_set_video_mode(
{
int ret;
union av8100_configuration av8100_config;
- struct mcde_display_hdmi_platform_data *pdata = dev->dev.platform_data;
- struct display_driver_data *driver_data = dev_get_drvdata(&dev->dev);
+ struct mcde_display_hdmi_platform_data *pdata;
+ struct display_driver_data *driver_data;
struct av8100_status status;
/* TODO check video_mode_params */
@@ -845,6 +845,9 @@ static int hdmi_set_video_mode(
return -EINVAL;
}
+ pdata = dev->dev.platform_data;
+ driver_data = dev_get_drvdata(&dev->dev);
+
dev_dbg(&dev->dev, "%s:\n", __func__);
dev_vdbg(&dev->dev, "%s:xres:%d yres:%d hbp:%d hfp:%d vbp:%d vfp:%d "
"interlaced:%d\n", __func__,
@@ -914,7 +917,7 @@ static int hdmi_set_video_mode(
}
if (status.av8100_state < AV8100_OPMODE_IDLE) {
- ret = av8100_download_firmware(NULL, 0, I2C_INTERFACE);
+ ret = av8100_download_firmware(I2C_INTERFACE);
if (ret) {
dev_err(&dev->dev, "av8100_download_firmware failed\n");
av8100_powerdown();
diff --git a/include/video/av8100.h b/include/video/av8100.h
index b5922c8b2e5..23e96a0b871 100644
--- a/include/video/av8100.h
+++ b/include/video/av8100.h
@@ -411,8 +411,7 @@ int av8100_powerup(void);
int av8100_powerdown(void);
int av8100_disable_interrupt(void);
int av8100_enable_interrupt(void);
-int av8100_download_firmware(char *fw_buff, int numOfBytes,
- enum interface_type if_type);
+int av8100_download_firmware(enum interface_type if_type);
int av8100_reg_stby_w(
unsigned char cpd,
unsigned char stby,
diff --git a/sound/soc/codecs/av8100_audio.c b/sound/soc/codecs/av8100_audio.c
index b163151efb7..f406205fdde 100644
--- a/sound/soc/codecs/av8100_audio.c
+++ b/sound/soc/codecs/av8100_audio.c
@@ -85,7 +85,7 @@ static int av8100_codec_powerup(void)
}
}
if (status.av8100_state < AV8100_OPMODE_INIT) {
- ret = av8100_download_firmware(NULL, 0, I2C_INTERFACE);
+ ret = av8100_download_firmware(I2C_INTERFACE);
if (ret != 0) {
pr_err("%s: Download firmware failed "
"(av8100_download_firmware returned %d)!\n",