aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2011-04-08 08:08:52 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-04-19 15:01:26 -0400
commit25b9875fb4880efabb79d6a35c92cc7287fcaccd (patch)
tree90a79cab1fb10d899a31a537311088d9d9a20230 /drivers/media
parent5b9a81d14fcf0bf166f73bc3b31463efbdb2660a (diff)
[media] s5p-fimc: Fix FIMC3 pixel limits on Exynos4
Correct pixel limits for the fourth FIMC entity on Exynos4 SoCs. FIMC3 only supports the writeback input from the LCD mixer. Also rename s5pv310 variant to exynos4 which is needed after renaming s5pv310 series to Exynos4. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/s5p-fimc/fimc-core.c30
1 files changed, 19 insertions, 11 deletions
diff --git a/drivers/media/video/s5p-fimc/fimc-core.c b/drivers/media/video/s5p-fimc/fimc-core.c
index 6c919b38a3d8..d54e6d851f52 100644
--- a/drivers/media/video/s5p-fimc/fimc-core.c
+++ b/drivers/media/video/s5p-fimc/fimc-core.c
@@ -1750,7 +1750,7 @@ static int __devexit fimc_remove(struct platform_device *pdev)
1750} 1750}
1751 1751
1752/* Image pixel limits, similar across several FIMC HW revisions. */ 1752/* Image pixel limits, similar across several FIMC HW revisions. */
1753static struct fimc_pix_limit s5p_pix_limit[3] = { 1753static struct fimc_pix_limit s5p_pix_limit[4] = {
1754 [0] = { 1754 [0] = {
1755 .scaler_en_w = 3264, 1755 .scaler_en_w = 3264,
1756 .scaler_dis_w = 8192, 1756 .scaler_dis_w = 8192,
@@ -1775,6 +1775,14 @@ static struct fimc_pix_limit s5p_pix_limit[3] = {
1775 .out_rot_en_w = 1280, 1775 .out_rot_en_w = 1280,
1776 .out_rot_dis_w = 1920, 1776 .out_rot_dis_w = 1920,
1777 }, 1777 },
1778 [3] = {
1779 .scaler_en_w = 1920,
1780 .scaler_dis_w = 8192,
1781 .in_rot_en_h = 1366,
1782 .in_rot_dis_w = 8192,
1783 .out_rot_en_w = 1366,
1784 .out_rot_dis_w = 1920,
1785 },
1778}; 1786};
1779 1787
1780static struct samsung_fimc_variant fimc0_variant_s5p = { 1788static struct samsung_fimc_variant fimc0_variant_s5p = {
@@ -1827,7 +1835,7 @@ static struct samsung_fimc_variant fimc2_variant_s5pv210 = {
1827 .pix_limit = &s5p_pix_limit[2], 1835 .pix_limit = &s5p_pix_limit[2],
1828}; 1836};
1829 1837
1830static struct samsung_fimc_variant fimc0_variant_s5pv310 = { 1838static struct samsung_fimc_variant fimc0_variant_exynos4 = {
1831 .pix_hoff = 1, 1839 .pix_hoff = 1,
1832 .has_inp_rot = 1, 1840 .has_inp_rot = 1,
1833 .has_out_rot = 1, 1841 .has_out_rot = 1,
@@ -1840,7 +1848,7 @@ static struct samsung_fimc_variant fimc0_variant_s5pv310 = {
1840 .pix_limit = &s5p_pix_limit[1], 1848 .pix_limit = &s5p_pix_limit[1],
1841}; 1849};
1842 1850
1843static struct samsung_fimc_variant fimc2_variant_s5pv310 = { 1851static struct samsung_fimc_variant fimc2_variant_exynos4 = {
1844 .pix_hoff = 1, 1852 .pix_hoff = 1,
1845 .has_cistatus2 = 1, 1853 .has_cistatus2 = 1,
1846 .has_mainscaler_ext = 1, 1854 .has_mainscaler_ext = 1,
@@ -1848,7 +1856,7 @@ static struct samsung_fimc_variant fimc2_variant_s5pv310 = {
1848 .min_out_pixsize = 16, 1856 .min_out_pixsize = 16,
1849 .hor_offs_align = 1, 1857 .hor_offs_align = 1,
1850 .out_buf_count = 32, 1858 .out_buf_count = 32,
1851 .pix_limit = &s5p_pix_limit[2], 1859 .pix_limit = &s5p_pix_limit[3],
1852}; 1860};
1853 1861
1854/* S5PC100 */ 1862/* S5PC100 */
@@ -1874,12 +1882,12 @@ static struct samsung_fimc_driverdata fimc_drvdata_s5pv210 = {
1874}; 1882};
1875 1883
1876/* S5PV310, S5PC210 */ 1884/* S5PV310, S5PC210 */
1877static struct samsung_fimc_driverdata fimc_drvdata_s5pv310 = { 1885static struct samsung_fimc_driverdata fimc_drvdata_exynos4 = {
1878 .variant = { 1886 .variant = {
1879 [0] = &fimc0_variant_s5pv310, 1887 [0] = &fimc0_variant_exynos4,
1880 [1] = &fimc0_variant_s5pv310, 1888 [1] = &fimc0_variant_exynos4,
1881 [2] = &fimc0_variant_s5pv310, 1889 [2] = &fimc0_variant_exynos4,
1882 [3] = &fimc2_variant_s5pv310, 1890 [3] = &fimc2_variant_exynos4,
1883 }, 1891 },
1884 .num_entities = 4, 1892 .num_entities = 4,
1885 .lclk_frequency = 166000000UL, 1893 .lclk_frequency = 166000000UL,
@@ -1893,8 +1901,8 @@ static struct platform_device_id fimc_driver_ids[] = {
1893 .name = "s5pv210-fimc", 1901 .name = "s5pv210-fimc",
1894 .driver_data = (unsigned long)&fimc_drvdata_s5pv210, 1902 .driver_data = (unsigned long)&fimc_drvdata_s5pv210,
1895 }, { 1903 }, {
1896 .name = "s5pv310-fimc", 1904 .name = "exynos4-fimc",
1897 .driver_data = (unsigned long)&fimc_drvdata_s5pv310, 1905 .driver_data = (unsigned long)&fimc_drvdata_exynos4,
1898 }, 1906 },
1899 {}, 1907 {},
1900}; 1908};