[{"id":1765266,"web_url":"http://patchwork.ozlabs.org/comment/1765266/","msgid":"<1a2dfeb9-b2e1-3bc6-772a-e3b55fc51b7f@arm.com>","list_archive_url":null,"date":"2017-09-08T11:33:29","subject":"Re: [PATCH v3 2/6] ARM: dts: exynos: Add clean name of compatible.","submitter":{"id":65641,"url":"http://patchwork.ozlabs.org/api/people/65641/","name":"Robin Murphy","email":"robin.murphy@arm.com"},"content":"On 08/09/17 07:02, Hoegeun Kwon wrote:\n> Exynos 5250 and 5420 have different hardware rotation limits. However,\n> currently it uses only one compatible - \"exynos5-gsc\". Since we have\n> to distinguish between these two, we add different compatible.\n> \n> Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>\n> ---\n>  arch/arm/boot/dts/exynos5250.dtsi | 8 ++++----\n>  arch/arm/boot/dts/exynos5420.dtsi | 4 ++--\n>  2 files changed, 6 insertions(+), 6 deletions(-)\n> \n> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi\n> index 8dbeb87..bf08101 100644\n> --- a/arch/arm/boot/dts/exynos5250.dtsi\n> +++ b/arch/arm/boot/dts/exynos5250.dtsi\n> @@ -637,7 +637,7 @@\n>  \t\t};\n>  \n>  \t\tgsc_0:  gsc@13e00000 {\n> -\t\t\tcompatible = \"samsung,exynos5-gsc\";\n> +\t\t\tcompatible = \"samsung,exynos5-gsc\", \"samsung,exynos5250-gsc\";\n\nThese should be the other way round - the most specific compatible\nshould come first, then the more general fallback afterwards.\n\n(and similarly in all cases below)\n\nRobin.\n\n>  \t\t\treg = <0x13e00000 0x1000>;\n>  \t\t\tinterrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;\n>  \t\t\tpower-domains = <&pd_gsc>;\n> @@ -647,7 +647,7 @@\n>  \t\t};\n>  \n>  \t\tgsc_1:  gsc@13e10000 {\n> -\t\t\tcompatible = \"samsung,exynos5-gsc\";\n> +\t\t\tcompatible = \"samsung,exynos5-gsc\", \"samsung,exynos5250-gsc\";\n>  \t\t\treg = <0x13e10000 0x1000>;\n>  \t\t\tinterrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;\n>  \t\t\tpower-domains = <&pd_gsc>;\n> @@ -657,7 +657,7 @@\n>  \t\t};\n>  \n>  \t\tgsc_2:  gsc@13e20000 {\n> -\t\t\tcompatible = \"samsung,exynos5-gsc\";\n> +\t\t\tcompatible = \"samsung,exynos5-gsc\", \"samsung,exynos5250-gsc\";\n>  \t\t\treg = <0x13e20000 0x1000>;\n>  \t\t\tinterrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;\n>  \t\t\tpower-domains = <&pd_gsc>;\n> @@ -667,7 +667,7 @@\n>  \t\t};\n>  \n>  \t\tgsc_3:  gsc@13e30000 {\n> -\t\t\tcompatible = \"samsung,exynos5-gsc\";\n> +\t\t\tcompatible = \"samsung,exynos5-gsc\", \"samsung,exynos5250-gsc\";\n>  \t\t\treg = <0x13e30000 0x1000>;\n>  \t\t\tinterrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;\n>  \t\t\tpower-domains = <&pd_gsc>;\n> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi\n> index 02d2f89..86afe77 100644\n> --- a/arch/arm/boot/dts/exynos5420.dtsi\n> +++ b/arch/arm/boot/dts/exynos5420.dtsi\n> @@ -658,7 +658,7 @@\n>  \t\t};\n>  \n>  \t\tgsc_0: video-scaler@13e00000 {\n> -\t\t\tcompatible = \"samsung,exynos5-gsc\";\n> +\t\t\tcompatible = \"samsung,exynos5-gsc\", \"samsung,exynos5420-gsc\";\n>  \t\t\treg = <0x13e00000 0x1000>;\n>  \t\t\tinterrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;\n>  \t\t\tclocks = <&clock CLK_GSCL0>;\n> @@ -668,7 +668,7 @@\n>  \t\t};\n>  \n>  \t\tgsc_1: video-scaler@13e10000 {\n> -\t\t\tcompatible = \"samsung,exynos5-gsc\";\n> +\t\t\tcompatible = \"samsung,exynos5-gsc\", \"samsung,exynos5420-gsc\";\n>  \t\t\treg = <0x13e10000 0x1000>;\n>  \t\t\tinterrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;\n>  \t\t\tclocks = <&clock CLK_GSCL1>;\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpZvj3z23z9s83\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 21:33:37 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753132AbdIHLdg (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tFri, 8 Sep 2017 07:33:36 -0400","from foss.arm.com ([217.140.101.70]:39318 \"EHLO foss.arm.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1752549AbdIHLdf (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tFri, 8 Sep 2017 07:33:35 -0400","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5AB4113D5;\n\tFri,  8 Sep 2017 04:33:34 -0700 (PDT)","from [10.1.210.88] (e110467-lin.cambridge.arm.com [10.1.210.88])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id\n\t502873F483; Fri,  8 Sep 2017 04:33:31 -0700 (PDT)"],"Subject":"Re: [PATCH v3 2/6] ARM: dts: exynos: Add clean name of compatible.","To":"Hoegeun Kwon <hoegeun.kwon@samsung.com>, inki.dae@samsung.com,\n\tairlied@linux.ie, kgene@kernel.org, krzk@kernel.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, catalin.marinas@arm.com,\n\twill.deacon@arm.com, mchehab@kernel.org, s.nawrocki@samsung.com,\n\tm.szyprowski@samsung.com","Cc":"devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,\n\ta.hajda@samsung.com, linux-arm-kernel@lists.infradead.org,\n\tlinux-media@vger.kernel.org","References":"<1504850560-27950-1-git-send-email-hoegeun.kwon@samsung.com>\n\t<CGME20170908060308epcas1p2b275c76f63f5742092a7bc4ef14c05a5@epcas1p2.samsung.com>\n\t<1504850560-27950-3-git-send-email-hoegeun.kwon@samsung.com>","From":"Robin Murphy <robin.murphy@arm.com>","Message-ID":"<1a2dfeb9-b2e1-3bc6-772a-e3b55fc51b7f@arm.com>","Date":"Fri, 8 Sep 2017 12:33:29 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<1504850560-27950-3-git-send-email-hoegeun.kwon@samsung.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765280,"web_url":"http://patchwork.ozlabs.org/comment/1765280/","msgid":"<a4f3bd0b-d733-79ec-b724-2de0e0d4aab7@arm.com>","list_archive_url":null,"date":"2017-09-08T11:58:27","subject":"Re: [PATCH v3 3/6] drm/exynos/gsc: Add hardware rotation limits","submitter":{"id":65641,"url":"http://patchwork.ozlabs.org/api/people/65641/","name":"Robin Murphy","email":"robin.murphy@arm.com"},"content":"On 08/09/17 07:02, Hoegeun Kwon wrote:\n> The gscaler has hardware rotation limits that need to be hardcoded\n> into driver. Distinguish them and add them to the property list.\n> \n> The hardware rotation limits are related to the cropped source size.\n> When swap occurs, use rot_max size instead of crop_max size.\n> \n> Also the scaling limits are related to pos size, use pos size to check\n> the limits.\n> \n> Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>\n> ---\n>  drivers/gpu/drm/exynos/exynos_drm_gsc.c | 93 +++++++++++++++++++++++----------\n>  include/uapi/drm/exynos_drm.h           |  2 +\n>  2 files changed, 66 insertions(+), 29 deletions(-)\n> \n> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c\n> index 0506b2b..a4fb347 100644\n> --- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c\n> +++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c\n> @@ -17,6 +17,7 @@\n>  #include <linux/pm_runtime.h>\n>  #include <linux/mfd/syscon.h>\n>  #include <linux/regmap.h>\n> +#include <linux/of_device.h>\n>  \n>  #include <drm/drmP.h>\n>  #include <drm/exynos_drm.h>\n> @@ -150,6 +151,15 @@ struct gsc_context {\n>  \tbool\tsuspended;\n>  };\n>  \n> +/*\n> + * struct gsc_driverdata - per device type driver data for init time.\n> + *\n> + * @rot_max: rotation max resolution.\n> + */\n> +struct gsc_driverdata {\n> +\tstruct drm_exynos_sz rot_max;\n> +};\n> +\n>  /* 8-tap Filter Coefficient */\n>  static const int h_coef_8t[GSC_COEF_RATIO][GSC_COEF_ATTR][GSC_COEF_H_8T] = {\n>  \t{\t/* Ratio <= 65536 (~8:8) */\n> @@ -1401,6 +1411,23 @@ static int gsc_ippdrv_check_property(struct device *dev,\n>  \tbool swap;\n>  \tint i;\n>  \n> +\tconfig = &property->config[EXYNOS_DRM_OPS_DST];\n> +\n> +\t/* check for degree */\n> +\tswitch (config->degree) {\n> +\tcase EXYNOS_DRM_DEGREE_90:\n> +\tcase EXYNOS_DRM_DEGREE_270:\n> +\t\tswap = true;\n> +\t\tbreak;\n> +\tcase EXYNOS_DRM_DEGREE_0:\n> +\tcase EXYNOS_DRM_DEGREE_180:\n> +\t\tswap = false;\n> +\t\tbreak;\n> +\tdefault:\n> +\t\tDRM_ERROR(\"invalid degree.\\n\");\n> +\t\tgoto err_property;\n> +\t}\n> +\n>  \tfor_each_ipp_ops(i) {\n>  \t\tif ((i == EXYNOS_DRM_OPS_SRC) &&\n>  \t\t\t(property->cmd == IPP_CMD_WB))\n> @@ -1416,21 +1443,6 @@ static int gsc_ippdrv_check_property(struct device *dev,\n>  \t\t\tgoto err_property;\n>  \t\t}\n>  \n> -\t\t/* check for degree */\n> -\t\tswitch (config->degree) {\n> -\t\tcase EXYNOS_DRM_DEGREE_90:\n> -\t\tcase EXYNOS_DRM_DEGREE_270:\n> -\t\t\tswap = true;\n> -\t\t\tbreak;\n> -\t\tcase EXYNOS_DRM_DEGREE_0:\n> -\t\tcase EXYNOS_DRM_DEGREE_180:\n> -\t\t\tswap = false;\n> -\t\t\tbreak;\n> -\t\tdefault:\n> -\t\t\tDRM_ERROR(\"invalid degree.\\n\");\n> -\t\t\tgoto err_property;\n> -\t\t}\n> -\n>  \t\t/* check for buffer bound */\n>  \t\tif ((pos->x + pos->w > sz->hsize) ||\n>  \t\t\t(pos->y + pos->h > sz->vsize)) {\n> @@ -1438,21 +1450,27 @@ static int gsc_ippdrv_check_property(struct device *dev,\n>  \t\t\tgoto err_property;\n>  \t\t}\n>  \n> +\t\t/*\n> +\t\t * The rotation hardware limits are related to the cropped\n> +\t\t * source size. So use rot_max size to check the limits when\n> +\t\t * swap happens. And also the scaling limits are related to pos\n> +\t\t * size, use pos size to check the limits.\n> +\t\t */\n>  \t\t/* check for crop */\n>  \t\tif ((i == EXYNOS_DRM_OPS_SRC) && (pp->crop)) {\n>  \t\t\tif (swap) {\n>  \t\t\t\tif ((pos->h < pp->crop_min.hsize) ||\n> -\t\t\t\t\t(sz->vsize > pp->crop_max.hsize) ||\n> +\t\t\t\t\t(pos->h > pp->rot_max.hsize) ||\n>  \t\t\t\t\t(pos->w < pp->crop_min.vsize) ||\n> -\t\t\t\t\t(sz->hsize > pp->crop_max.vsize)) {\n> +\t\t\t\t\t(pos->w > pp->rot_max.vsize)) {\n>  \t\t\t\t\tDRM_ERROR(\"out of crop size.\\n\");\n>  \t\t\t\t\tgoto err_property;\n>  \t\t\t\t}\n>  \t\t\t} else {\n>  \t\t\t\tif ((pos->w < pp->crop_min.hsize) ||\n> -\t\t\t\t\t(sz->hsize > pp->crop_max.hsize) ||\n> +\t\t\t\t\t(pos->w > pp->crop_max.hsize) ||\n>  \t\t\t\t\t(pos->h < pp->crop_min.vsize) ||\n> -\t\t\t\t\t(sz->vsize > pp->crop_max.vsize)) {\n> +\t\t\t\t\t(pos->h > pp->crop_max.vsize)) {\n>  \t\t\t\t\tDRM_ERROR(\"out of crop size.\\n\");\n>  \t\t\t\t\tgoto err_property;\n>  \t\t\t\t}\n> @@ -1463,17 +1481,17 @@ static int gsc_ippdrv_check_property(struct device *dev,\n>  \t\tif ((i == EXYNOS_DRM_OPS_DST) && (pp->scale)) {\n>  \t\t\tif (swap) {\n>  \t\t\t\tif ((pos->h < pp->scale_min.hsize) ||\n> -\t\t\t\t\t(sz->vsize > pp->scale_max.hsize) ||\n> +\t\t\t\t\t(pos->h > pp->scale_max.hsize) ||\n>  \t\t\t\t\t(pos->w < pp->scale_min.vsize) ||\n> -\t\t\t\t\t(sz->hsize > pp->scale_max.vsize)) {\n> +\t\t\t\t\t(pos->w > pp->scale_max.vsize)) {\n>  \t\t\t\t\tDRM_ERROR(\"out of scale size.\\n\");\n>  \t\t\t\t\tgoto err_property;\n>  \t\t\t\t}\n>  \t\t\t} else {\n>  \t\t\t\tif ((pos->w < pp->scale_min.hsize) ||\n> -\t\t\t\t\t(sz->hsize > pp->scale_max.hsize) ||\n> +\t\t\t\t\t(pos->w > pp->scale_max.hsize) ||\n>  \t\t\t\t\t(pos->h < pp->scale_min.vsize) ||\n> -\t\t\t\t\t(sz->vsize > pp->scale_max.vsize)) {\n> +\t\t\t\t\t(pos->h > pp->scale_max.vsize)) {\n>  \t\t\t\t\tDRM_ERROR(\"out of scale size.\\n\");\n>  \t\t\t\t\tgoto err_property;\n>  \t\t\t\t}\n> @@ -1657,12 +1675,34 @@ static void gsc_ippdrv_stop(struct device *dev, enum drm_exynos_ipp_cmd cmd)\n>  \tgsc_write(cfg, GSC_ENABLE);\n>  }\n>  \n> +static struct gsc_driverdata gsc_exynos5250_drvdata = {\n> +\t.rot_max = { 2048, 2048 },\n> +};\n> +\n> +static struct gsc_driverdata gsc_exynos5420_drvdata = {\n> +\t.rot_max = { 2016, 2016 },\n> +};\n> +\n> +static const struct of_device_id exynos_drm_gsc_of_match[] = {\n> +\t{\n> +\t\t.compatible = \"samsung,exynos5250-gsc\",\n> +\t\t.data = &gsc_exynos5250_drvdata,\n> +\t},\n> +\t{\n> +\t\t.compatible = \"samsung,exynos5420-gsc\",\n> +\t\t.data = &gsc_exynos5420_drvdata,\n> +\t},\n> +\t{ },\n> +};\n> +MODULE_DEVICE_TABLE(of, exynos_drm_gsc_of_match);\n> +\n>  static int gsc_probe(struct platform_device *pdev)\n>  {\n>  \tstruct device *dev = &pdev->dev;\n>  \tstruct gsc_context *ctx;\n>  \tstruct resource *res;\n>  \tstruct exynos_drm_ippdrv *ippdrv;\n> +\tconst struct gsc_driverdata *drv_data = of_device_get_match_data(dev);\n>  \tint ret;\n>  \n>  \tctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);\n> @@ -1722,6 +1762,7 @@ static int gsc_probe(struct platform_device *pdev)\n>  \t\tdev_err(dev, \"failed to init property list.\\n\");\n>  \t\treturn ret;\n>  \t}\n> +\tctx->ippdrv.prop_list.rot_max = drv_data->rot_max;\n>  \n>  \tDRM_DEBUG_KMS(\"id[%d]ippdrv[%pK]\\n\", ctx->id, ippdrv);\n>  \n> @@ -1784,12 +1825,6 @@ static int __maybe_unused gsc_runtime_resume(struct device *dev)\n>  \tSET_RUNTIME_PM_OPS(gsc_runtime_suspend, gsc_runtime_resume, NULL)\n>  };\n>  \n> -static const struct of_device_id exynos_drm_gsc_of_match[] = {\n> -\t{ .compatible = \"samsung,exynos5-gsc\" },\n> -\t{ },\n> -};\n> -MODULE_DEVICE_TABLE(of, exynos_drm_gsc_of_match);\n\nAs Krzysztof noted, this breaks compatibility with existing DTBs, and\nnot everyone wants to update their firmware in lock-step with their\nkernel. That said, as far as I can see there's little need to remove it\nanyway - as long as there is some set of lowest-common-denominator\nlimits that will work on any hardware variant, there doesn't seem to be\nmuch harm in keeping a generic fallback around indefinitely.\n\nRobin.\n\n> -\n>  struct platform_driver gsc_driver = {\n>  \t.probe\t\t= gsc_probe,\n>  \t.remove\t\t= gsc_remove,\n> diff --git a/include/uapi/drm/exynos_drm.h b/include/uapi/drm/exynos_drm.h\n> index cb3e9f9..d5d5518 100644\n> --- a/include/uapi/drm/exynos_drm.h\n> +++ b/include/uapi/drm/exynos_drm.h\n> @@ -192,6 +192,7 @@ enum drm_exynos_planer {\n>   * @crop_max: crop max resolution.\n>   * @scale_min: scale min resolution.\n>   * @scale_max: scale max resolution.\n> + * @rot_max: rotation max resolution.\n>   */\n>  struct drm_exynos_ipp_prop_list {\n>  \t__u32\tversion;\n> @@ -210,6 +211,7 @@ struct drm_exynos_ipp_prop_list {\n>  \tstruct drm_exynos_sz\tcrop_max;\n>  \tstruct drm_exynos_sz\tscale_min;\n>  \tstruct drm_exynos_sz\tscale_max;\n> +\tstruct drm_exynos_sz\trot_max;\n>  };\n>  \n>  /**\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpbSV5qCrz9sQl\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 21:58:34 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752892AbdIHL6d (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tFri, 8 Sep 2017 07:58:33 -0400","from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:39434 \"EHLO\n\tfoss.arm.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1752245AbdIHL6c (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tFri, 8 Sep 2017 07:58:32 -0400","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B626F13D5;\n\tFri,  8 Sep 2017 04:58:31 -0700 (PDT)","from [10.1.210.88] (e110467-lin.cambridge.arm.com [10.1.210.88])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id\n\tB48233F483; Fri,  8 Sep 2017 04:58:28 -0700 (PDT)"],"Subject":"Re: [PATCH v3 3/6] drm/exynos/gsc: Add hardware rotation limits","To":"Hoegeun Kwon <hoegeun.kwon@samsung.com>, inki.dae@samsung.com,\n\tairlied@linux.ie, kgene@kernel.org, krzk@kernel.org,\n\trobh+dt@kernel.org, mark.rutland@arm.com, catalin.marinas@arm.com,\n\twill.deacon@arm.com, mchehab@kernel.org, s.nawrocki@samsung.com,\n\tm.szyprowski@samsung.com","Cc":"devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,\n\ta.hajda@samsung.com, linux-arm-kernel@lists.infradead.org,\n\tlinux-media@vger.kernel.org","References":"<1504850560-27950-1-git-send-email-hoegeun.kwon@samsung.com>\n\t<CGME20170908060308epcas1p3016314e10d2ba9fb5129cd2b398086f4@epcas1p3.samsung.com>\n\t<1504850560-27950-4-git-send-email-hoegeun.kwon@samsung.com>","From":"Robin Murphy <robin.murphy@arm.com>","Message-ID":"<a4f3bd0b-d733-79ec-b724-2de0e0d4aab7@arm.com>","Date":"Fri, 8 Sep 2017 12:58:27 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<1504850560-27950-4-git-send-email-hoegeun.kwon@samsung.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766171,"web_url":"http://patchwork.ozlabs.org/comment/1766171/","msgid":"<27b46679-e6c7-2471-f10e-3f0634178ebf@samsung.com>","list_archive_url":null,"date":"2017-09-11T09:35:15","subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","submitter":{"id":11222,"url":"http://patchwork.ozlabs.org/api/people/11222/","name":"Sylwester Nawrocki","email":"s.nawrocki@samsung.com"},"content":"On 09/08/2017 08:02 AM, Hoegeun Kwon wrote:\n> The hardware rotation limits of gsc depends on SOC (Exynos\n> 5250/5420/5433). Distinguish them and add them to the driver data.\n> \n> Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>\n> ---\n>   drivers/media/platform/exynos-gsc/gsc-core.c | 96 ++++++++++++++++++++++++----\n>   1 file changed, 83 insertions(+), 13 deletions(-)\n> \n> diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c b/drivers/media/platform/exynos-gsc/gsc-core.c\n> index 4380150..8f8636e 100644\n> --- a/drivers/media/platform/exynos-gsc/gsc-core.c\n> +++ b/drivers/media/platform/exynos-gsc/gsc-core.c\n> @@ -943,7 +943,37 @@ static irqreturn_t gsc_irq_handler(int irq, void *priv)\n>   \treturn IRQ_HANDLED;\n>   }\n>   \n> -static struct gsc_pix_max gsc_v_100_max = {\n> +static struct gsc_pix_max gsc_v_5250_max = {\n> +\t.org_scaler_bypass_w\t= 8192,\n> +\t.org_scaler_bypass_h\t= 8192,\n> +\t.org_scaler_input_w\t= 4800,\n> +\t.org_scaler_input_h\t= 3344,\n> +\t.real_rot_dis_w\t\t= 4800,\n> +\t.real_rot_dis_h\t\t= 3344,\n> +\t.real_rot_en_w\t\t= 2016,\n> +\t.real_rot_en_h\t\t= 2016,\n> +\t.target_rot_dis_w\t= 4800,\n> +\t.target_rot_dis_h\t= 3344,\n> +\t.target_rot_en_w\t= 2016,\n> +\t.target_rot_en_h\t= 2016,\n> +};\n> +\n> +static struct gsc_pix_max gsc_v_5420_max = {\n> +\t.org_scaler_bypass_w\t= 8192,\n> +\t.org_scaler_bypass_h\t= 8192,\n> +\t.org_scaler_input_w\t= 4800,\n> +\t.org_scaler_input_h\t= 3344,\n> +\t.real_rot_dis_w\t\t= 4800,\n> +\t.real_rot_dis_h\t\t= 3344,\n> +\t.real_rot_en_w\t\t= 2048,\n> +\t.real_rot_en_h\t\t= 2048,\n> +\t.target_rot_dis_w\t= 4800,\n> +\t.target_rot_dis_h\t= 3344,\n> +\t.target_rot_en_w\t= 2016,\n> +\t.target_rot_en_h\t= 2016,\n> +};\n> +\n> +static struct gsc_pix_max gsc_v_5433_max = {\n>   \t.org_scaler_bypass_w\t= 8192,\n>   \t.org_scaler_bypass_h\t= 8192,\n>   \t.org_scaler_input_w\t= 4800,\n> @@ -979,8 +1009,8 @@ static irqreturn_t gsc_irq_handler(int irq, void *priv)\n>   \t.target_h\t\t= 2,  /* yuv420 : 2, others : 1 */\n>   };\n>   \n> -static struct gsc_variant gsc_v_100_variant = {\n> -\t.pix_max\t\t= &gsc_v_100_max,\n> +static struct gsc_variant gsc_v_5250_variant = {\n> +\t.pix_max\t\t= &gsc_v_5250_max,\n>   \t.pix_min\t\t= &gsc_v_100_min,\n>   \t.pix_align\t\t= &gsc_v_100_align,\n>   \t.in_buf_cnt\t\t= 32,\n> @@ -992,12 +1022,48 @@ static irqreturn_t gsc_irq_handler(int irq, void *priv)\n>   \t.local_sc_down\t\t= 2,\n>   };\n>   \n> -static struct gsc_driverdata gsc_v_100_drvdata = {\n> +static struct gsc_variant gsc_v_5420_variant = {\n> +\t.pix_max\t\t= &gsc_v_5420_max,\n> +\t.pix_min\t\t= &gsc_v_100_min,\n> +\t.pix_align\t\t= &gsc_v_100_align,\n> +\t.in_buf_cnt\t\t= 32,\n> +\t.out_buf_cnt\t\t= 32,\n> +\t.sc_up_max\t\t= 8,\n> +\t.sc_down_max\t\t= 16,\n> +\t.poly_sc_down_max\t= 4,\n> +\t.pre_sc_down_max\t= 4,\n> +\t.local_sc_down\t\t= 2,\n> +};\n> +\n> +static struct gsc_variant gsc_v_5433_variant = {\n> +\t.pix_max\t\t= &gsc_v_5433_max,\n> +\t.pix_min\t\t= &gsc_v_100_min,\n> +\t.pix_align\t\t= &gsc_v_100_align,\n> +\t.in_buf_cnt\t\t= 32,\n> +\t.out_buf_cnt\t\t= 32,\n> +\t.sc_up_max\t\t= 8,\n> +\t.sc_down_max\t\t= 16,\n> +\t.poly_sc_down_max\t= 4,\n> +\t.pre_sc_down_max\t= 4,\n> +\t.local_sc_down\t\t= 2,\n> +};\n> +\n> +static struct gsc_driverdata gsc_v_5250_drvdata = {\n>   \t.variant = {\n> -\t\t[0] = &gsc_v_100_variant,\n> -\t\t[1] = &gsc_v_100_variant,\n> -\t\t[2] = &gsc_v_100_variant,\n> -\t\t[3] = &gsc_v_100_variant,\n> +\t\t[0] = &gsc_v_5250_variant,\n> +\t\t[1] = &gsc_v_5250_variant,\n> +\t\t[2] = &gsc_v_5250_variant,\n> +\t\t[3] = &gsc_v_5250_variant,\n> +\t},\n> +\t.num_entities = 4,\n> +\t.clk_names = { \"gscl\" },\n> +\t.num_clocks = 1,\n> +};\n> +\n> +static struct gsc_driverdata gsc_v_5420_drvdata = {\n> +\t.variant = {\n> +\t\t[0] = &gsc_v_5420_variant,\n> +\t\t[1] = &gsc_v_5420_variant,\n>   \t},\n>   \t.num_entities = 4,\n>   \t.clk_names = { \"gscl\" },\n> @@ -1006,9 +1072,9 @@ static irqreturn_t gsc_irq_handler(int irq, void *priv)\n>   \n>   static struct gsc_driverdata gsc_5433_drvdata = {\n>   \t.variant = {\n> -\t\t[0] = &gsc_v_100_variant,\n> -\t\t[1] = &gsc_v_100_variant,\n> -\t\t[2] = &gsc_v_100_variant,\n> +\t\t[0] = &gsc_v_5433_variant,\n> +\t\t[1] = &gsc_v_5433_variant,\n> +\t\t[2] = &gsc_v_5433_variant,\n>   \t},\n>   \t.num_entities = 3,\n>   \t.clk_names = { \"pclk\", \"aclk\", \"aclk_xiu\", \"aclk_gsclbend\" },\n> @@ -1017,8 +1083,12 @@ static irqreturn_t gsc_irq_handler(int irq, void *priv)\n>   \n>   static const struct of_device_id exynos_gsc_match[] = {\n>   \t{\n> -\t\t.compatible = \"samsung,exynos5-gsc\",\n> -\t\t.data = &gsc_v_100_drvdata,\n\nCan you keep the \"samsung,exynos5-gsc\" entry with the gsc_v_5250_variant\ndata, so that it can work with \"samsung,exynos5-gsc\" compatible in DT\non both exynos5250 and exynos5420 SoCs?\n\n> +\t\t.compatible = \"samsung,exynos5250-gsc\",\n> +\t\t.data = &gsc_v_5250_drvdata,\n> +\t},\n> +\t{\n> +\t\t.compatible = \"samsung,exynos5420-gsc\",\n> +\t\t.data = &gsc_v_5420_drvdata,\n>   \t},","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrN830KmGz9s7G\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 19:35:31 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751127AbdIKJf3 (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 05:35:29 -0400","from mailout3.samsung.com ([203.254.224.33]:48477 \"EHLO\n\tmailout3.samsung.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751005AbdIKJf1 (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 05:35:27 -0400","from epcas1p3.samsung.com (unknown [182.195.41.47])\n\tby mailout3.samsung.com (KnoxPortal) with ESMTP id\n\t20170911093524epoutp038c13a93f898a8b3e399fadae185f1fbf~jRPY4F0-B2212922129epoutp03Y;\n\tMon, 11 Sep 2017 09:35:24 +0000 (GMT)","from epsmges1p5.samsung.com (unknown [182.195.42.57]) by\n\tepcas1p4.samsung.com (KnoxPortal) with ESMTP id\n\t20170911093522epcas1p42c8a3e1a9647716e4974eb0e45ab48d9~jRPXJE2-_0673306733epcas1p4E;\n\tMon, 11 Sep 2017 09:35:22 +0000 (GMT)","from epcas1p2.samsung.com ( [182.195.41.46]) by\n\tepsmges1p5.samsung.com (Symantec Messaging Gateway) with SMTP id\n\t63.6C.18934.AD856B95; Mon, 11 Sep 2017 18:35:22 +0900 (KST)","from epsmgms2p1new.samsung.com (unknown [182.195.42.142]) by\n\tepcas1p3.samsung.com (KnoxPortal) with ESMTP id\n\t20170911093522epcas1p313a2458e6695cbacc0f1aa73692fe9a7~jRPWWIKgo1913219132epcas1p3S;\n\tMon, 11 Sep 2017 09:35:22 +0000 (GMT)","from epmmp1.local.host ( [203.254.227.16]) by\n\tepsmgms2p1new.samsung.com (Symantec Messaging Gateway) with SMTP id\n\t2E.FC.11757.9D856B95; Mon, 11 Sep 2017 18:35:22 +0900 (KST)","from [106.116.147.40] by mmp1.samsung.com (Oracle Communications\n\tMessaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id\n\t<0OW30088JZYRLS00@mmp1.samsung.com>;\n\tMon, 11 Sep 2017 18:35:21 +0900 (KST)"],"X-AuditID":"b6c32a39-f794a6d0000049f6-25-59b658da378d","Subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","To":"Hoegeun Kwon <hoegeun.kwon@samsung.com>, mchehab@kernel.org","Cc":"inki.dae@samsung.com, airlied@linux.ie, kgene@kernel.org,\n\tkrzk@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com,\n\tcatalin.marinas@arm.com, will.deacon@arm.com,\n\tm.szyprowski@samsung.com, devicetree@vger.kernel.org,\n\tlinux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,\n\tdri-devel@lists.freedesktop.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org","From":"Sylwester Nawrocki <s.nawrocki@samsung.com>","Message-id":"<27b46679-e6c7-2471-f10e-3f0634178ebf@samsung.com>","Date":"Mon, 11 Sep 2017 11:35:15 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-version":"1.0","In-reply-to":"<1504850560-27950-5-git-send-email-hoegeun.kwon@samsung.com>","Content-type":"text/plain; charset=\"utf-8\"; format=\"flowed\"","Content-language":"en-GB","Content-transfer-encoding":"7bit","X-Brightmail-Tracker":["H4sIAAAAAAAAA02Se0hTYRjG+85tx9HiuLJejDIWUllZA6OvLDXqj0UmCUFqUI08qORMdrpZ\n\tUC7xkvNymlliTQMtbUyyTW1NE1peCml2wzQtA6nQMpXupZnbUfC/3/u9z/O+3/PxsaSyj/Zn\n\tk1KO8foUbbKKkVMND1cFr30d0xC7/tuDEJzvfkzgkZt5CJe3uGn88vsIg0eqchls6hcpXDjw\n\ticSdnbUybBvoovEL5zUG59XW07iks5nANS1vZPjGq2cEvmkbJ3Dm/RYZHhx7REX4aqxlVqSx\n\tWS4wmrs/3tGafmM7obFXntMU1FmQ5qtt6R5ZnHxLPJ+cdILXrws7JE80ZDQRqcOBp2ozLtPp\n\taHhJLvJhgQuBLoOLlnghPH17m8lFclbJORBMTBYhqfiJoOeKiGYc1Z87aKnRiOCjq5KQin4E\n\tTRndhEc1n4uEgfpRmYcXcOHQbrxKekQkl0tC7+Rvb4Ph1JDfWuAdq+DCYMTZ4zVTXCBkVT2h\n\tPOzHxUDDzxJG0vjCr6K33nMfbicU1w+RHia5zfDhXyYt8SJo6+9BEgeA3TrsXQycRQYdjeJ0\n\t0h1gNImUxPNhqL1u6kLsFC+G561bJX0hgkfWDCQVJQj6skVCMoTCw/Zn09vmwZfvebRkVkBO\n\tllKSaOCpwT09cxsYzLukF+pFcKd4mBFRQOmsPKWzMpTOylA6K8N1RFnQQj5V0CXwgjp1Q7Cg\n\t1QnHUxKCDx/V2ZD3zwVtcqA2d6QLcSxSzVU4TPWxSlp7QkjTuRCwpGqBojayIVapiNemneb1\n\tRw/qjyfzggstZinVIoXf7a4YJZegPcYf4flUXj/TJVgf/3RkZ2sq7I6VOYVy4501H6LOqw3R\n\tcWLfuDNJfuuI6nPb5Tm6jZ+269SWsJN/LHQFGhS/JJQZI66ORRVnjw4sq+Hp96aL3ZXhdvPf\n\ts2ZVOemgxvbH9WaGnrlxwPluwpxkvVRCr+jbF72mrfqeUG0a33nYtDfv/vLVuwvEqvHCQ7hZ\n\tRQmJWnUQqRe0/wEarW1cbwMAAA==","H4sIAAAAAAAAA+NgFlrBIsWRmVeSWpSXmKPExsVy+t9jAd1bEdsiDRpSLHrPnWSyeL+sh9Fi\n\t/pFzrBZXvr5ns3i/vIvNYtL9CSwW/Y9fM1ucP7+B3WLT42usFpd3zWGz6NmwldVixvl9TBZr\n\tj9xlt1h6/SKTxbJNf5gsWvceYbd4+fEEi4Ogx5p5axg9Nq3qZPPY/u0Bq8f97uNMHpuX1Hv0\n\tbVnF6PF5k1wAexSXTUpqTmZZapG+XQJXRmPzHqaCt6oVG5qnsTYwvpXtYuTkkBAwkVjx5jRr\n\tFyMXh5DATkaJiy0vGSGch4wSzd+XsYJUCQv4SDze+oEdxBYRsJc43j2bGaSIWaCLWWLF6ncs\n\tEB23GSUWPvnHCFLFJmAo0Xu0D8zmFbCTeL/rJhOIzSKgKtG2/CwLiC0qECHR9/YyO0SNoMSP\n\tyffA4pwCnhJTt75iBrGZBcwkvrw8zAphi0scu3+TEcKWl9i85i3zBEaBWUjaZyFpmYWkZRaS\n\tlgWMLKsYJVMLinPTc4uNCgzzUsv1ihNzi0vz0vWS83M3MQLjb9thrb4djPeXxB9iFOBgVOLh\n\t3TFpa6QQa2JZcWXuIUYJDmYlEd4NPtsihXhTEiurUovy44tKc1KLDzFKc7AoifNm9s2IFBJI\n\tTyxJzU5NLUgtgskycXBKNTDyv//H8yD//qcQvSdC5z5882/qbP4ZdTziHd/lNeVX/q1Zt0+b\n\t83g113bZEMnrpRNVSrxbU79HKyy8k3c8o9xE7M/PQ6cOePH8TJhzKfXtlNi4bd/mX7dvMDh8\n\t9Nw9gxOm3Z19P6xT7S8uvvncb9f/KMWXB/tzbjAb7bq+hvc4S/CJnybvHTT/KbEUZyQaajEX\n\tFScCAK6Vx4K7AgAA"],"X-CMS-MailID":"20170911093522epcas1p313a2458e6695cbacc0f1aa73692fe9a7","X-Msg-Generator":"CA","X-Sender-IP":"182.195.42.142","X-Local-Sender":"=?utf-8?q?Sylwester_Nawrocki=1BSRPOL-Kernel_=28TP=29=1B?=\n\t=?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?=","X-Global-Sender":"=?utf-8?q?Sylwester_Nawrocki=1BSRPOL-Kernel_=28TP=29=1BS?=\n\t=?utf-8?q?amsung_Electronics=1BSenior_Software_Engineer?=","X-Sender-Code":"=?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?=","CMS-TYPE":"101P","X-CMS-RootMailID":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","X-RootMTR":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","References":"<1504850560-27950-1-git-send-email-hoegeun.kwon@samsung.com>\n\t<CGME20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6@epcas1p3.samsung.com>\n\t<1504850560-27950-5-git-send-email-hoegeun.kwon@samsung.com>","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1767475,"web_url":"http://patchwork.ozlabs.org/comment/1767475/","msgid":"<bb025fcb-e316-dfe9-a8eb-8a9535f35b93@samsung.com>","list_archive_url":null,"date":"2017-09-13T02:33:45","subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","submitter":{"id":70608,"url":"http://patchwork.ozlabs.org/api/people/70608/","name":"Hoegeun Kwon","email":"hoegeun.kwon@samsung.com"},"content":"Hi Sylwester,\n\nOn 09/11/2017 06:35 PM, Sylwester Nawrocki wrote:\n> On 09/08/2017 08:02 AM, Hoegeun Kwon wrote:\n>> The hardware rotation limits of gsc depends on SOC (Exynos\n>> 5250/5420/5433). Distinguish them and add them to the driver data.\n>>\n>> Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>\n>> ---\n>>   drivers/media/platform/exynos-gsc/gsc-core.c | 96 \n>> ++++++++++++++++++++++++----\n>>   1 file changed, 83 insertions(+), 13 deletions(-)\n>>\n>> diff --git a/drivers/media/platform/exynos-gsc/gsc-core.c \n>> b/drivers/media/platform/exynos-gsc/gsc-core.c\n>> index 4380150..8f8636e 100644\n>> --- a/drivers/media/platform/exynos-gsc/gsc-core.c\n>> +++ b/drivers/media/platform/exynos-gsc/gsc-core.c\n>> @@ -943,7 +943,37 @@ static irqreturn_t gsc_irq_handler(int irq, void \n>> *priv)\n>>       return IRQ_HANDLED;\n>>   }\n>>   -static struct gsc_pix_max gsc_v_100_max = {\n>> +static struct gsc_pix_max gsc_v_5250_max = {\n>> +    .org_scaler_bypass_w    = 8192,\n>> +    .org_scaler_bypass_h    = 8192,\n>> +    .org_scaler_input_w    = 4800,\n>> +    .org_scaler_input_h    = 3344,\n>> +    .real_rot_dis_w        = 4800,\n>> +    .real_rot_dis_h        = 3344,\n>> +    .real_rot_en_w        = 2016,\n>> +    .real_rot_en_h        = 2016,\n>> +    .target_rot_dis_w    = 4800,\n>> +    .target_rot_dis_h    = 3344,\n>> +    .target_rot_en_w    = 2016,\n>> +    .target_rot_en_h    = 2016,\n>> +};\n>> +\n>> +static struct gsc_pix_max gsc_v_5420_max = {\n>> +    .org_scaler_bypass_w    = 8192,\n>> +    .org_scaler_bypass_h    = 8192,\n>> +    .org_scaler_input_w    = 4800,\n>> +    .org_scaler_input_h    = 3344,\n>> +    .real_rot_dis_w        = 4800,\n>> +    .real_rot_dis_h        = 3344,\n>> +    .real_rot_en_w        = 2048,\n>> +    .real_rot_en_h        = 2048,\n>> +    .target_rot_dis_w    = 4800,\n>> +    .target_rot_dis_h    = 3344,\n>> +    .target_rot_en_w    = 2016,\n>> +    .target_rot_en_h    = 2016,\n>> +};\n>> +\n>> +static struct gsc_pix_max gsc_v_5433_max = {\n>>       .org_scaler_bypass_w    = 8192,\n>>       .org_scaler_bypass_h    = 8192,\n>>       .org_scaler_input_w    = 4800,\n>> @@ -979,8 +1009,8 @@ static irqreturn_t gsc_irq_handler(int irq, void \n>> *priv)\n>>       .target_h        = 2,  /* yuv420 : 2, others : 1 */\n>>   };\n>>   -static struct gsc_variant gsc_v_100_variant = {\n>> -    .pix_max        = &gsc_v_100_max,\n>> +static struct gsc_variant gsc_v_5250_variant = {\n>> +    .pix_max        = &gsc_v_5250_max,\n>>       .pix_min        = &gsc_v_100_min,\n>>       .pix_align        = &gsc_v_100_align,\n>>       .in_buf_cnt        = 32,\n>> @@ -992,12 +1022,48 @@ static irqreturn_t gsc_irq_handler(int irq, \n>> void *priv)\n>>       .local_sc_down        = 2,\n>>   };\n>>   -static struct gsc_driverdata gsc_v_100_drvdata = {\n>> +static struct gsc_variant gsc_v_5420_variant = {\n>> +    .pix_max        = &gsc_v_5420_max,\n>> +    .pix_min        = &gsc_v_100_min,\n>> +    .pix_align        = &gsc_v_100_align,\n>> +    .in_buf_cnt        = 32,\n>> +    .out_buf_cnt        = 32,\n>> +    .sc_up_max        = 8,\n>> +    .sc_down_max        = 16,\n>> +    .poly_sc_down_max    = 4,\n>> +    .pre_sc_down_max    = 4,\n>> +    .local_sc_down        = 2,\n>> +};\n>> +\n>> +static struct gsc_variant gsc_v_5433_variant = {\n>> +    .pix_max        = &gsc_v_5433_max,\n>> +    .pix_min        = &gsc_v_100_min,\n>> +    .pix_align        = &gsc_v_100_align,\n>> +    .in_buf_cnt        = 32,\n>> +    .out_buf_cnt        = 32,\n>> +    .sc_up_max        = 8,\n>> +    .sc_down_max        = 16,\n>> +    .poly_sc_down_max    = 4,\n>> +    .pre_sc_down_max    = 4,\n>> +    .local_sc_down        = 2,\n>> +};\n>> +\n>> +static struct gsc_driverdata gsc_v_5250_drvdata = {\n>>       .variant = {\n>> -        [0] = &gsc_v_100_variant,\n>> -        [1] = &gsc_v_100_variant,\n>> -        [2] = &gsc_v_100_variant,\n>> -        [3] = &gsc_v_100_variant,\n>> +        [0] = &gsc_v_5250_variant,\n>> +        [1] = &gsc_v_5250_variant,\n>> +        [2] = &gsc_v_5250_variant,\n>> +        [3] = &gsc_v_5250_variant,\n>> +    },\n>> +    .num_entities = 4,\n>> +    .clk_names = { \"gscl\" },\n>> +    .num_clocks = 1,\n>> +};\n>> +\n>> +static struct gsc_driverdata gsc_v_5420_drvdata = {\n>> +    .variant = {\n>> +        [0] = &gsc_v_5420_variant,\n>> +        [1] = &gsc_v_5420_variant,\n>>       },\n>>       .num_entities = 4,\n>>       .clk_names = { \"gscl\" },\n>> @@ -1006,9 +1072,9 @@ static irqreturn_t gsc_irq_handler(int irq, \n>> void *priv)\n>>     static struct gsc_driverdata gsc_5433_drvdata = {\n>>       .variant = {\n>> -        [0] = &gsc_v_100_variant,\n>> -        [1] = &gsc_v_100_variant,\n>> -        [2] = &gsc_v_100_variant,\n>> +        [0] = &gsc_v_5433_variant,\n>> +        [1] = &gsc_v_5433_variant,\n>> +        [2] = &gsc_v_5433_variant,\n>>       },\n>>       .num_entities = 3,\n>>       .clk_names = { \"pclk\", \"aclk\", \"aclk_xiu\", \"aclk_gsclbend\" },\n>> @@ -1017,8 +1083,12 @@ static irqreturn_t gsc_irq_handler(int irq, \n>> void *priv)\n>>     static const struct of_device_id exynos_gsc_match[] = {\n>>       {\n>> -        .compatible = \"samsung,exynos5-gsc\",\n>> -        .data = &gsc_v_100_drvdata,\n>\n> Can you keep the \"samsung,exynos5-gsc\" entry with the gsc_v_5250_variant\n> data, so that it can work with \"samsung,exynos5-gsc\" compatible in DT\n> on both exynos5250 and exynos5420 SoCs?\n>\n\nThank you for your question.\n\nExynos 5250 and 5420 have different hardware rotation limits.\nExynos 5250 is '.real_rot_en_w/h = 2016' and 5420 is '.real_rot_en_w/h = \n2048'.\n\nSo my opinion they must have different compatible.\n\nBest regards,\nHoegeun\n\n>> +        .compatible = \"samsung,exynos5250-gsc\",\n>> +        .data = &gsc_v_5250_drvdata,\n>> +    },\n>> +    {\n>> +        .compatible = \"samsung,exynos5420-gsc\",\n>> +        .data = &gsc_v_5420_drvdata,\n>>       },\n>\n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xsQjN5p0Qz9sPt\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 12:34:32 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751023AbdIMCeb (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tTue, 12 Sep 2017 22:34:31 -0400","from mailout2.samsung.com ([203.254.224.25]:26390 \"EHLO\n\tmailout2.samsung.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750960AbdIMCe3 (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 12 Sep 2017 22:34:29 -0400","from epcas1p4.samsung.com (unknown [182.195.41.48])\n\tby mailout2.samsung.com (KnoxPortal) with ESMTP id\n\t20170913023427epoutp0251cac81bf574049c804a677f01edbbd5~jyya7PNoP0536005360epoutp02U;\n\tWed, 13 Sep 2017 02:34:27 +0000 (GMT)","from epsmges1p4.samsung.com (unknown [182.195.40.69]) by\n\tepcas1p1.samsung.com (KnoxPortal) with ESMTP id\n\t20170913023427epcas1p189a0f15b2e14e837b158a48516fe2b34~jyyaocq7T2657626576epcas1p1g;\n\tWed, 13 Sep 2017 02:34:27 +0000 (GMT)","from epcas1p2.samsung.com ( [182.195.41.46]) by\n\tepsmges1p4.samsung.com (Symantec Messaging Gateway) with SMTP id\n\tEF.4F.20296.80998B95; Wed, 13 Sep 2017 11:33:44 +0900 (KST)","from epsmgms2p1new.samsung.com (unknown [182.195.42.142]) by\n\tepcas1p4.samsung.com (KnoxPortal) with ESMTP id\n\t20170913023344epcas1p4ffa88f9a5c52afca61321c126f7b2191~jyxyUjGAb2046220462epcas1p4M;\n\tWed, 13 Sep 2017 02:33:44 +0000 (GMT)","from epmmp1.local.host ( [203.254.227.16]) by\n\tepsmgms2p1new.samsung.com (Symantec Messaging Gateway) with SMTP id\n\t2C.28.11757.70998B95; Wed, 13 Sep 2017 11:33:43 +0900 (KST)","from [10.113.63.38] by mmp1.samsung.com (Oracle Communications\n\tMessaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id\n\t<0OW700AVI5S7HP40@mmp1.samsung.com>;\n\tWed, 13 Sep 2017 11:33:43 +0900 (KST)"],"X-AuditID":"b6c32a38-f799e6d000004f48-28-59b89908cffa","Subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","To":"Sylwester Nawrocki <s.nawrocki@samsung.com>, mchehab@kernel.org","Cc":"inki.dae@samsung.com, airlied@linux.ie, kgene@kernel.org,\n\tkrzk@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com,\n\tcatalin.marinas@arm.com, will.deacon@arm.com,\n\tm.szyprowski@samsung.com, devicetree@vger.kernel.org,\n\tlinux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,\n\tdri-devel@lists.freedesktop.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org,\n\tHoegeun Kwon <hoegeun.kwon@samsung.com>","From":"Hoegeun Kwon <hoegeun.kwon@samsung.com>","Message-id":"<bb025fcb-e316-dfe9-a8eb-8a9535f35b93@samsung.com>","Date":"Wed, 13 Sep 2017 11:33:45 +0900","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-version":"1.0","In-reply-to":"<27b46679-e6c7-2471-f10e-3f0634178ebf@samsung.com>","Content-type":"text/plain; charset=\"utf-8\"; format=\"flowed\"","Content-transfer-encoding":"7bit","Content-language":"en-US","X-Brightmail-Tracker":["H4sIAAAAAAAAA+NgFrrMJsWRmVeSWpSXmKPExsWy7bCmni7HzB2RBl9+6lr0njvJZPF+WQ+j\n\txfwj51gtrnx9z2bxfnkXm8Wk+xNYLPofv2a2OH9+A7vFpsfXWC0u75rDZtGzYSurxYzz+5gs\n\t1h65y26x9PpFJotlm/4wWbTuPcJucfhNO6vFy48nWByEPNbMW8PosWlVJ5vH9m8PWD3udx9n\n\t8ti8pN6jb8sqRo/Pm+QC2KNSbTJSE1NSixRS85LzUzLz0m2VvIPjneNNzQwMdQ0tLcyVFPIS\n\tc1NtlVx8AnTdMnOA3lBSKEvMKQUKBSQWFyvp29kU5ZeWpCpk5BeX2CpFGxoa6RkamOsZGRnp\n\tmRjHWhmZApUkpGYsuBJSMFuv4texxcwNjD8Vuhg5OSQETCT2NbaxQNhiEhfurWfrYuTiEBLY\n\twSgxa8N6RgjnO6PE5e+7mWA6/jYuZIZI7GaU+P/8L1TLXUaJaw+a2EGqhAV8JB5v/QBmiwg4\n\tS9w4OResiFlgK7PEgdUTwUaxCehKfO25DmbzCthJfNwzmxHEZhFQlZh35SPYUaICERLbvs9g\n\tg6gRlPgx+R5YnFPAXmLV5gdgcWYBK4ln/1pZIWx5ic1r3jJD2OISza03WUAWSwhsYpe4eHQV\n\t1A8uEr//fGSHsIUlXh3fAmRzANnSEpeO2kKE6yUu7zjJCNHbwCjRP3E2VL2xxKmuRiaIBXwS\n\t7772sEL08kp0tAlBlHhIXGg8BzXSUaJxrjdIWEhgApPEtrvpExjlZyH5ZhaSD2Yh+WAWkg8W\n\tMLKsYhRLLSjOTU8tNiww0StOzC0uzUvXS87P3cQITtBaFjsY95zzOcQowMGoxMMbcGt7pBBr\n\tYllxZe4hRgkOZiUR3i/9OyKFeFMSK6tSi/Lji0pzUosPMZoCQ3sis5Rocj4we+SVxBuaWBqY\n\tmBkBk52loaGSOK/o+msRQgLpiSWp2ampBalFMH1MHJxSDYwakssqX+4RnqKisWKfjuDqR2z6\n\ta6tOue162+t++za3yUnB0KNeaT3mqtuD5PuX2grqSn79wtPLYc3ffuFg44Wq9jkPrnGKLPyz\n\tln23jPSR0rfn7DKvaxu9nHJoZuT504rLJRSnVC45ffDE4xN6fx5JzKtnOdHxLywiZM+B3Tca\n\tZnH3qTYzn52sxFKckWioxVxUnAgAxuEtdOYDAAA=","H4sIAAAAAAAAA+NgFlrDIsWRmVeSWpSXmKPExsVy+t9jAV32mTsiDS78tbLoPXeSyeL9sh5G\n\ti/lHzrFaXPn6ns3i/fIuNotJ9yewWPQ/fs1scf78BnaLTY+vsVpc3jWHzaJnw1ZWixnn9zFZ\n\trD1yl91i6fWLTBbLNv1hsmjde4Td4vCbdlaLlx9PsDgIeayZt4bRY9OqTjaP7d8esHrc7z7O\n\t5LF5Sb1H35ZVjB6fN8kFsEdx2aSk5mSWpRbp2yVwZSy4ElIwW6/i17HFzA2MPxW6GDk5JARM\n\tJP42LmTuYuTiEBLYySjx8P53RpCEkMB9Ron//9xAbGEBH4nHWz+wg9giAs4SN07OZQNpYBbY\n\tzCxx6+AxNojuCUwSCyYeYgapYhPQlfjac50JxOYVsJP4uGc22FQWAVWJeVc+soDYogIREn1v\n\tL7ND1AhK/Jh8DyzOKWAvsWrzAzYQm1nATOLLy8OsELa8xOY1b5khbHGJ5tabLBMYBWYhaZ+F\n\tpGUWkpZZSFoWMLKsYpRMLSjOTc8tNiowzEst1ytOzC0uzUvXS87P3cQIjMNth7X6djDeXxJ/\n\tiFGAg1GJh3fFne2RQqyJZcWVuYcYJTiYlUR4v/TviBTiTUmsrEotyo8vKs1JLT7EKM3BoiTO\n\tm9k3I1JIID2xJDU7NbUgtQgmy8TBKdXAaLf48N+wS0/CVJdKGW85b+J54pyKib+u5fbfu8Lz\n\tpG7HL4m2uRlpuuGq8N+qv68zTmfPE7205kP16uMvcjec//SoUMOs7uP/uecfluzzCl7RWF3J\n\tpJXt0nKNn6ulYe2OgwrOE5ZocyXWhzxVulVQ9UL/svqx13nMtScMmc8f2FB9bO9J01SNyUos\n\txRmJhlrMRcWJAFGOBsy/AgAA"],"X-CMS-MailID":"20170913023344epcas1p4ffa88f9a5c52afca61321c126f7b2191","X-Msg-Generator":"CA","X-Sender-IP":"182.195.42.142","X-Local-Sender":"=?utf-8?b?6raM7ZqM6re8G1RpemVuIFBsYXRmb3JtIExhYihTL1c=?=\n\t=?utf-8?b?7IS87YSwKRvsgrzshLHsoITsnpAbRW5naW5lZXI=?=","X-Global-Sender":"=?utf-8?q?Hoegeun_Kwon=1BTizen_Platform_Lab=2E=1BSamsung?=\n\t=?utf-8?q?_Electronics=1BEngineer?=","X-Sender-Code":"=?utf-8?q?C10=1BTELE=1BC10V8111?=","CMS-TYPE":"101P","DLP-Filter":"Pass","X-CFilter-Loop":"Reflected","X-CMS-RootMailID":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","X-RootMTR":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","References":"<1504850560-27950-1-git-send-email-hoegeun.kwon@samsung.com>\n\t<CGME20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6@epcas1p3.samsung.com>\n\t<1504850560-27950-5-git-send-email-hoegeun.kwon@samsung.com>\n\t<27b46679-e6c7-2471-f10e-3f0634178ebf@samsung.com>","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1767693,"web_url":"http://patchwork.ozlabs.org/comment/1767693/","msgid":"<a915a1f7-2c01-472b-b9ee-5367c488a89f@samsung.com>","list_archive_url":null,"date":"2017-09-13T09:11:23","subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","submitter":{"id":11222,"url":"http://patchwork.ozlabs.org/api/people/11222/","name":"Sylwester Nawrocki","email":"s.nawrocki@samsung.com"},"content":"Hi Hoegeun,\n\nOn 09/13/2017 04:33 AM, Hoegeun Kwon wrote:\n>>> @@ -1017,8 +1083,12 @@ static irqreturn_t gsc_irq_handler(int irq,\n>>> void *priv)\n>>>      static const struct of_device_id exynos_gsc_match[] = {\n>>>        {\n>>> -        .compatible = \"samsung,exynos5-gsc\",\n>>> -        .data = &gsc_v_100_drvdata,\n>> Can you keep the \"samsung,exynos5-gsc\" entry with the gsc_v_5250_variant\n>> data, so that it can work with \"samsung,exynos5-gsc\" compatible in DT\n>> on both exynos5250 and exynos5420 SoCs?\n>>\n> Thank you for your question.\n> \n> Exynos 5250 and 5420 have different hardware rotation limits.\n> Exynos 5250 is '.real_rot_en_w/h = 2016' and 5420 is '.real_rot_en_w/h =\n> 2048'.\n> \n> So my opinion they must have different compatible.\n\nI think there is some misunderstanding, mu suggestion was to keep the \n\"samsung,exynos5-gsc\" compatible entry in addition to the new introduced \nones: \"samsung,exynos5250-gsc\" and \"samsung,exynos5420-gsc\". That's in\norder to make your changes possibly backward compatible, in theory \nthe updated driver should still work without changes in dts.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xsbWq5wpvz9sNr\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 19:11:51 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751516AbdIMJLu (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tWed, 13 Sep 2017 05:11:50 -0400","from mailout3.samsung.com ([203.254.224.33]:49609 \"EHLO\n\tmailout3.samsung.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751413AbdIMJLs (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Wed, 13 Sep 2017 05:11:48 -0400","from epcas1p2.samsung.com (unknown [182.195.41.46])\n\tby mailout3.samsung.com (KnoxPortal) with ESMTP id\n\t20170913091145epoutp0381d23000522595e741e601cceeaa401d~j4NTnOr-32604026040epoutp031;\n\tWed, 13 Sep 2017 09:11:45 +0000 (GMT)","from epsmges1p2.samsung.com (unknown [182.195.42.54]) by\n\tepcas1p4.samsung.com (KnoxPortal) with ESMTP id\n\t20170913091145epcas1p45f0f9a6bdb6fb7bd117571487cd5e5c0~j4NTY4V1I3114131141epcas1p4i;\n\tWed, 13 Sep 2017 09:11:45 +0000 (GMT)","from epcas1p4.samsung.com ( [182.195.41.48]) by\n\tepsmges1p2.samsung.com (Symantec Messaging Gateway) with SMTP id\n\tD2.D9.20955.156F8B95; Wed, 13 Sep 2017 18:11:45 +0900 (KST)","from epsmgms2p1new.samsung.com (unknown [182.195.42.142]) by\n\tepcas1p2.samsung.com (KnoxPortal) with ESMTP id\n\t20170913091144epcas1p24be898642d7140a4011cdd436a9d48c4~j4NTGhlNT2528825288epcas1p2H;\n\tWed, 13 Sep 2017 09:11:44 +0000 (GMT)","from epmmp2 ( [203.254.227.17]) by epsmgms2p1new.samsung.com\n\t(Symantec Messaging Gateway) with SMTP id C9.74.11757.056F8B95;\n\tWed, 13 Sep 2017 18:11:44 +0900 (KST)","from [106.116.147.40] by mmp2.samsung.com (Oracle Communications\n\tMessaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id\n\t<0OW700F6DO6ZSM40@mmp2.samsung.com>;\n\tWed, 13 Sep 2017 18:11:44 +0900 (KST)"],"X-AuditID":"b6c32a36-f79196d0000051db-4b-59b8f6518753","Subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","To":"Hoegeun Kwon <hoegeun.kwon@samsung.com>","Cc":"mchehab@kernel.org, inki.dae@samsung.com, airlied@linux.ie,\n\tkgene@kernel.org, krzk@kernel.org, robh+dt@kernel.org,\n\tmark.rutland@arm.com, catalin.marinas@arm.com, will.deacon@arm.com,\n\tm.szyprowski@samsung.com, devicetree@vger.kernel.org,\n\tlinux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,\n\tdri-devel@lists.freedesktop.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org","From":"Sylwester Nawrocki <s.nawrocki@samsung.com>","Message-id":"<a915a1f7-2c01-472b-b9ee-5367c488a89f@samsung.com>","Date":"Wed, 13 Sep 2017 11:11:23 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-version":"1.0","In-reply-to":"<bb025fcb-e316-dfe9-a8eb-8a9535f35b93@samsung.com>","Content-type":"text/plain; charset=\"utf-8\"","Content-language":"en-GB","Content-transfer-encoding":"7bit","X-Brightmail-Tracker":["H4sIAAAAAAAAA01Sa0hTYRjmO+ds50xafc3bS0HSyCBFnVH6QaWFRpMkrV/anzrkwUKnY9NI\n\toYuYmWtecEWiZRfKQuZtqZlpiZe0pKnZKsu0HA3tMu2i2QUsdxT897zv+zzv8z4fH0cr3khW\n\tcUdS0gRdCp+slLoxjR0bVAF7Z5riVa9ml5F862OKTFYYEbnSaZWQ59OTUjJ5yyAlxaNFDCm0\n\tf6JJX18tSyz2FxIy2HxJSoy1DRJS0veAIlWdb1ly8+UARSosfymS09rJkomvPcz2lWpzuRmp\n\tLZV5UvXdmXcS9ei5bkp958ZJdUF9JVJ/t6yJZfe7bU0Qko8cFXRBYQfdDhvKW5H2N3ds6oeN\n\tPYUusgYk4wBvAntOESNiL+gfqZEakBunwE0Ibo/VI7H4ieCWvVm6qHDkzFHioBbBU+erBdYo\n\tAsfsuGuvO44Ge8OUC3tgf/j8K5+eJ9G4nAbHh/cuQykOhvyugv9qjpPjMHiZt2O+zWBfmC4r\n\tpOaxJ46Dxp8lLmc5XgmzphGXVIbDoeZ0m6tP4w0w/qOYEbE3PBodQiL2gTvmLy5fwNUs5OUX\n\tLISOhN4z2ZSI3eFjdz07fwPg1fCsa5vIL0TQY85GYlGCYDi3aEGwBTq6BySiw3JwThslolgO\n\tZ88oRIoa+rOsCzt3QNbl3eIDdVHgaC5mi5BP6ZI8pUsylC7JULokw1XEVCIvQavXJAr6YO3G\n\tQD2v0aenJAYeStVYkOvL+YU0oevW6HaEOaRcJo99fTdeIeGP6jM07Qg4Wukhf/StKV4hT+Az\n\tMgVd6gFderKgb0erOUbpLfeseRGnwIl8mpAkCFpBtzilONmqU6ht8EFZ1c5r7kF/bMGVM1vD\n\tzEFfdm0K4Od6YvzSGtZFxN+rris0DasMHQ9zq9fTURfO1V32vW1bOxTVpnJOTD3hhel9eOC+\n\tMdQWPdgSed4UoWqZPZQbcmlbb2zmiph+wdQqKwutS03K2HPC/7gjaci+2YOR2a6uCGowjXlF\n\thDtzlIz+MB/sR+v0/D8tPnWlbgMAAA==","H4sIAAAAAAAAA+NgFlrGIsWRmVeSWpSXmKPExsVy+t9jQd2AbzsiDX5fN7LoPXeSyeL9sh5G\n\ti/lHzrFaXPn6ns3i/fIuNotJ9yewWPQ/fs1scf78BnaLTY+vsVpc3jWHzaJnw1ZWixnn9zFZ\n\trD1yl91i6fWLTBbLNv1hsmjde4Td4uXHEywOgh5r5q1h9Ni0qpPNY/u3B6we97uPM3lsXlLv\n\t0bdlFaPH501yAexRXDYpqTmZZalF+nYJXBld8/YyFvziqPjw5Sp7A+N09i5GTg4JAROJZ63/\n\tmboYuTiEBNYxSjTtPgXlPGSUeLlqMQtIlbCAj8TjrR/AOkQEtCXe/OxlBiliFpjHLPHnzG1G\n\tiI6jTBJXVj1iAqliEzCU6D3aB5Tg4OAVsJO43ukIEmYRUJX4OrsfrERUIEKi7+1lsKG8AoIS\n\tPybfA1vGKWAvsb7lABtIK7OAusSUKbkgYWYBcYlj928yQtjyEpvXvGWewCgwC0n3LISOWUg6\n\tZiHpWMDIsopRMrWgODc9t9iowDAvtVyvODG3uDQvXS85P3cTIzD2th3W6tvBeH9J/CFGAQ5G\n\tJR7eFXe2RwqxJpYVV+YeYpTgYFYS4T32aUekEG9KYmVValF+fFFpTmrxIUZpDhYlcd7MvhmR\n\tQgLpiSWp2ampBalFMFkmDk6pBsbUneGXdDZyLN2Rznns7wEnvsMnLj2d9/1T0UaWCdqny3aX\n\tKKTcPLhKN3RWkfxa8x9WS+YcStz6aob0ruKpT7NFHt2+bPrF9Y7Fy2i/+8q8PU8m/9FLlCv9\n\tXsnZNG/mWnO/yPZWxYu/fPtVIpiEvm/TNBToucprmCGi6rbnbsGsmZPP390YVyasxFKckWio\n\txVxUnAgAFlEeCrkCAAA="],"X-CMS-MailID":"20170913091144epcas1p24be898642d7140a4011cdd436a9d48c4","X-Msg-Generator":"CA","X-Sender-IP":"182.195.42.142","X-Local-Sender":"=?utf-8?q?Sylwester_Nawrocki=1BSRPOL-Kernel_=28TP=29=1B?=\n\t=?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?=","X-Global-Sender":"=?utf-8?q?Sylwester_Nawrocki=1BSRPOL-Kernel_=28TP=29=1BS?=\n\t=?utf-8?q?amsung_Electronics=1BSenior_Software_Engineer?=","X-Sender-Code":"=?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?=","CMS-TYPE":"101P","X-CMS-RootMailID":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","X-RootMTR":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","References":"<1504850560-27950-1-git-send-email-hoegeun.kwon@samsung.com>\n\t<CGME20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6@epcas1p3.samsung.com>\n\t<1504850560-27950-5-git-send-email-hoegeun.kwon@samsung.com>\n\t<27b46679-e6c7-2471-f10e-3f0634178ebf@samsung.com>\n\t<bb025fcb-e316-dfe9-a8eb-8a9535f35b93@samsung.com>","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1767712,"web_url":"http://patchwork.ozlabs.org/comment/1767712/","msgid":"<21b6ae5d-a77b-3ab1-bc84-5f30e76fab50@samsung.com>","list_archive_url":null,"date":"2017-09-13T09:28:02","subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","submitter":{"id":70608,"url":"http://patchwork.ozlabs.org/api/people/70608/","name":"Hoegeun Kwon","email":"hoegeun.kwon@samsung.com"},"content":"On 09/13/2017 06:11 PM, Sylwester Nawrocki wrote:\n> Hi Hoegeun,\n>\n> On 09/13/2017 04:33 AM, Hoegeun Kwon wrote:\n>>>> @@ -1017,8 +1083,12 @@ static irqreturn_t gsc_irq_handler(int irq,\n>>>> void *priv)\n>>>>       static const struct of_device_id exynos_gsc_match[] = {\n>>>>         {\n>>>> -        .compatible = \"samsung,exynos5-gsc\",\n>>>> -        .data = &gsc_v_100_drvdata,\n>>> Can you keep the \"samsung,exynos5-gsc\" entry with the gsc_v_5250_variant\n>>> data, so that it can work with \"samsung,exynos5-gsc\" compatible in DT\n>>> on both exynos5250 and exynos5420 SoCs?\n>>>\n>> Thank you for your question.\n>>\n>> Exynos 5250 and 5420 have different hardware rotation limits.\n>> Exynos 5250 is '.real_rot_en_w/h = 2016' and 5420 is '.real_rot_en_w/h =\n>> 2048'.\n>>\n>> So my opinion they must have different compatible.\n> I think there is some misunderstanding, mu suggestion was to keep the\n> \"samsung,exynos5-gsc\" compatible entry in addition to the new introduced\n> ones: \"samsung,exynos5250-gsc\" and \"samsung,exynos5420-gsc\". That's in\n> order to make your changes possibly backward compatible, in theory\n> the updated driver should still work without changes in dts.\n\n\nThank you again for your explanation.\n\nYes, I understood.\nI will keep \"samsung,exynos5-gsc\" compatible,\nand add Exynos 5250/5420/5433 compatible.\n\nBest regards,\nHoegeun\n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xsbts5Ffbz9sNr\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 19:28:21 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752158AbdIMJ2F (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tWed, 13 Sep 2017 05:28:05 -0400","from mailout3.samsung.com ([203.254.224.33]:53952 \"EHLO\n\tmailout3.samsung.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751545AbdIMJ2D (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Wed, 13 Sep 2017 05:28:03 -0400","from epcas1p4.samsung.com (unknown [182.195.41.48])\n\tby mailout3.samsung.com (KnoxPortal) with ESMTP id\n\t20170913092801epoutp034da5380333f3f19f26c68b52898b7836~j4bgqsqwQ2950829508epoutp03X;\n\tWed, 13 Sep 2017 09:28:01 +0000 (GMT)","from epsmges2p4.samsung.com (unknown [182.195.40.65]) by\n\tepcas1p3.samsung.com (KnoxPortal) with ESMTP id\n\t20170913092801epcas1p35f81a4d1234cf43a47c9ef716fd9078b~j4bgRzBbA0643106431epcas1p3E;\n\tWed, 13 Sep 2017 09:28:01 +0000 (GMT)","from epcas2p3.samsung.com ( [182.195.41.55]) by\n\tepsmges2p4.samsung.com (Symantec Messaging Gateway) with SMTP id\n\tBB.A8.13866.12AF8B95; Wed, 13 Sep 2017 18:28:01 +0900 (KST)","from epsmgms2p2new.samsung.com (unknown [182.195.42.143]) by\n\tepcas2p4.samsung.com (KnoxPortal) with ESMTP id\n\t20170913092800epcas2p4ddab4db7c56f97e51a118f5a4f4ec785~j4bgAehEg0906709067epcas2p4X;\n\tWed, 13 Sep 2017 09:28:00 +0000 (GMT)","from epmmp1.local.host ( [203.254.227.16]) by\n\tepsmgms2p2new.samsung.com (Symantec Messaging Gateway) with SMTP id\n\tBC.D2.10338.02AF8B95; Wed, 13 Sep 2017 18:28:00 +0900 (KST)","from [10.113.63.38] by mmp1.samsung.com (Oracle Communications\n\tMessaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id\n\t<0OW7004NMOYOCT30@mmp1.samsung.com>;\n\tWed, 13 Sep 2017 18:28:00 +0900 (KST)"],"X-AuditID":"b6c32a48-f79a16d00000362a-10-59b8fa214a73","Subject":"Re: [PATCH v3 4/6] [media] exynos-gsc: Add hardware rotation limits","To":"Sylwester Nawrocki <s.nawrocki@samsung.com>","Cc":"mchehab@kernel.org, inki.dae@samsung.com, airlied@linux.ie,\n\tkgene@kernel.org, krzk@kernel.org, robh+dt@kernel.org,\n\tmark.rutland@arm.com, catalin.marinas@arm.com, will.deacon@arm.com,\n\tm.szyprowski@samsung.com, devicetree@vger.kernel.org,\n\tlinux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,\n\tdri-devel@lists.freedesktop.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org,\n\tHoegeun Kwon <hoegeun.kwon@samsung.com>","From":"Hoegeun Kwon <hoegeun.kwon@samsung.com>","Message-id":"<21b6ae5d-a77b-3ab1-bc84-5f30e76fab50@samsung.com>","Date":"Wed, 13 Sep 2017 18:28:02 +0900","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-version":"1.0","In-reply-to":"<a915a1f7-2c01-472b-b9ee-5367c488a89f@samsung.com>","Content-type":"text/plain; charset=\"utf-8\"; format=\"flowed\"","Content-transfer-encoding":"7bit","Content-language":"en-US","X-Brightmail-Tracker":["H4sIAAAAAAAAA+NgFrrKJsWRmVeSWpSXmKPExsWy7bCmua7irx2RBj+WsFv0njvJZPF+WQ+j\n\txfwj51gtrnx9z2bxfnkXm8Wk+xNYLPofv2a2OH9+A7vFpsfXWC0u75rDZtGzYSurxYzz+5gs\n\t1h65y26x9PpFJotlm/4wWbTuPcJucfhNO6vFy48nWByEPNbMW8PosWlVJ5vH9m8PWD3udx9n\n\t8ti8pN6jb8sqRo/Pm+QC2KNSbTJSE1NSixRS85LzUzLz0m2VvIPjneNNzQwMdQ0tLcyVFPIS\n\tc1NtlVx8AnTdMnOA3lBSKEvMKQUKBSQWFyvp29kU5ZeWpCpk5BeX2CpFGxoa6RkamOsZGRnp\n\tmRjHWhmZApUkpGb8mDaHreAxV8W7eT9YGxhvcnQxcnJICJhIzD8+ixnCFpO4cG89WxcjF4eQ\n\twA5GifkXXzBDON8ZJbZMf84O03FgYiMjRGI3o8S81i9QVXcZJX4ufAc2S1jAR+Lx1g9gHSIC\n\t+hJLVl0Em8sscJJZ4snSCSwgCTYBXYmvPdeZQGxeATuJxnUf2UBsFgFViYlLzjCC2KICERLb\n\tvs9gg6gRlPgx+R5QLwcHp4C9xL4HPCBhZgEriWf/WlkhbHmJzWveMkPY4hLNrTdZQPZKCGxj\n\tl3h1YR3UCy4S1zZ9ZoGwhSVeHd8CFZeWeLZqIyOEXS9xecdJRojmBkaJ/omzoYqMJU51NTJB\n\tbOCT6Dj8lx3kIAkBXomONiGIEg+JC43noMKOEo1zvSEB9ItJYsqfy0wTGOVnIXlnFpIfZiH5\n\tYRaSHxYwsqxiFEstKM5NTy02KjDRK07MLS7NS9dLzs/dxAhO0loeOxgPnPM5xCjAwajEwxtw\n\ta3ukEGtiWXFl7iFGCQ5mJRHeY592RArxpiRWVqUW5ccXleakFh9iNAUG90RmKdHkfGAGySuJ\n\tNzSxNDAxMzMyN7MAJj1x3rpt1yKEBNITS1KzU1MLUotg+pg4OKUaGEMCuRhTlI1CHOY+9pq5\n\tZ39wVku/a8+2IDMz1uV692zm5qz7pZOeferQLhE2B/+sJ/tO7dh6tc85uZZLO2n3Q26Bjy43\n\tp/wodjGJPGf75d+O3qMBSXmFc98FsixxmTHfqvysEOv2dQoCSdEvDnHbsZ5q1pwoU7VRvmzp\n\thbXXmQRXCZ7lMzjAp8RSnJFoqMVcVJwIAP2HmRnoAwAA","H4sIAAAAAAAAA+NgFlrLIsWRmVeSWpSXmKPExsVy+t9jAV2FXzsiDfp+GFn0njvJZPF+WQ+j\n\txfwj51gtrnx9z2bxfnkXm8Wk+xNYLPofv2a2OH9+A7vFpsfXWC0u75rDZtGzYSurxYzz+5gs\n\t1h65y26x9PpFJotlm/4wWbTuPcJucfhNO6vFy48nWByEPNbMW8PosWlVJ5vH9m8PWD3udx9n\n\t8ti8pN6jb8sqRo/Pm+QC2KO4bFJSczLLUov07RK4Mn5Mm8NW8Jir4t28H6wNjDc5uhg5OSQE\n\tTCQOTGxk7GLk4hAS2MkocXrpGRYI5z6jRNejm6wgVcICPhKPt35gB7FFBPQllqy6yAZSxCxw\n\tklnizuFv7BAdv5gkOqd+YAKpYhPQlfjacx3M5hWwk2hc95ENxGYRUJWYuOQMI4gtKhAh0ff2\n\tMjtEjaDEj8n3gFZzcHAK2Evse8ADEmYWMJP48vIwK4QtL7F5zVtmCFtcorn1JssERoFZSLpn\n\tIWmZhaRlFpKWBYwsqxglUwuKc9Nzi40KjPJSy/WKE3OLS/PS9ZLzczcxAiNx22Gt/h2Mj5fE\n\tH2IU4GBU4uFdcWd7pBBrYllxZe4hRgkOZiUR3mOfdkQK8aYkVlalFuXHF5XmpBYfYpTmYFES\n\t583smxEpJJCeWJKanZpakFoEk2Xi4JRqYFy4MM98VsvbFW+uq50Q9n999uUHw4kNB88uf/O3\n\tk/VV/ixDvpAAS5tnf54x33ey6WY9ZhMu9vJO2Tm+Nu/8Jzy1J7/+/VMtyBCnqW9Tov+LKyRy\n\tAn+5za90DlNrjfWN8qXmH++lfCpmNjyw5/BFg5NrFX+/5lQ+et599h7m9H7eHI7tkvU7fiix\n\tFGckGmoxFxUnAgCOuds0wAIAAA=="],"X-CMS-MailID":"20170913092800epcas2p4ddab4db7c56f97e51a118f5a4f4ec785","X-Msg-Generator":"CA","X-Sender-IP":"182.195.42.143","X-Local-Sender":"=?utf-8?b?6raM7ZqM6re8G1RpemVuIFBsYXRmb3JtIExhYihTL1c=?=\n\t=?utf-8?b?7IS87YSwKRvsgrzshLHsoITsnpAbRW5naW5lZXI=?=","X-Global-Sender":"=?utf-8?q?Hoegeun_Kwon=1BTizen_Platform_Lab=2E=1BSamsung?=\n\t=?utf-8?q?_Electronics=1BEngineer?=","X-Sender-Code":"=?utf-8?q?C10=1BTELE=1BC10V8111?=","CMS-TYPE":"102P","DLP-Filter":"Pass","X-CFilter-Loop":"Reflected","X-CMS-RootMailID":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","X-RootMTR":"20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6","References":"<1504850560-27950-1-git-send-email-hoegeun.kwon@samsung.com>\n\t<CGME20170908060309epcas1p3d48dd0871d3fde02ba3c9921bbe5a7a6@epcas1p3.samsung.com>\n\t<1504850560-27950-5-git-send-email-hoegeun.kwon@samsung.com>\n\t<27b46679-e6c7-2471-f10e-3f0634178ebf@samsung.com>\n\t<bb025fcb-e316-dfe9-a8eb-8a9535f35b93@samsung.com>\n\t<a915a1f7-2c01-472b-b9ee-5367c488a89f@samsung.com>","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}}]