From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF6B3C10F0E for ; Tue, 9 Apr 2019 11:07:54 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8E3DB2133D for ; Tue, 9 Apr 2019 11:07:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="K/f448e4"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="fOxnvFOP" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8E3DB2133D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=microchip.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=c9sQ1r7bOj+Ato1KIC/3TmTMOOd+ezz7+eWnbKDgVAc=; b=K/f448e4RzCEko TSIkJBkEqYb0ArguzgyNEuN4n9vxx6lL588bw4fxsKdH8NodIC9A1eJOqIBPGvTUyaczy4LRie0vX QxM77yl+clziqCGXHAhJ6Bts7ym0W23gg0jXDU6dw/mGYaKtXPPeMi5tUqVAE4ZGseG5YKjCE7OyO ag/BNq/yIbJG8hKKutV84rTbaaTILgIcwccJKbogquyYxTyuTP04cKWZey2f2xKdB+8wgxOHIyAQD YQtQmZAKYYUIzO6b3eYTm4/H3FkUoPWdK+2T4zKzyOhLVLcVPWdsBzWe++GmsekhADwVYXdZQGp1d RpB4QYQAHwuf4CHL58/w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDobU-00042x-Uv; Tue, 09 Apr 2019 11:07:48 +0000 Received: from esa2.microchip.iphmx.com ([68.232.149.84]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDobI-0003mm-72 for linux-arm-kernel@lists.infradead.org; Tue, 09 Apr 2019 11:07:37 +0000 X-IronPort-AV: E=Sophos;i="5.60,329,1549954800"; d="scan'208";a="29738805" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Apr 2019 04:07:33 -0700 Received: from NAM05-CO1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.106) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 9 Apr 2019 04:07:33 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8E/p0FPFMNXWGuNw0abjyVkKdI/h196NH068J1g2B00=; b=fOxnvFOPWnzOnTt4/uuUBKAxlfDNHEOqh986R7gJ+Dr431PuA1f9Jf/90mHnhOveW8Oj53aXASxW8LgJS26I2EbU1b+8ss/JTPctwy3zxNoxweROrOZ4dFIDcu3r9sK3buTB1lO22dZhtYuUkmknEGdBdJYUPfVdk5gQ7i4Jjb0= Received: from DM5PR11MB1242.namprd11.prod.outlook.com (10.168.108.8) by DM5PR11MB0011.namprd11.prod.outlook.com (10.164.155.29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1771.19; Tue, 9 Apr 2019 11:07:31 +0000 Received: from DM5PR11MB1242.namprd11.prod.outlook.com ([fe80::e0e3:1d51:9e3e:6dc]) by DM5PR11MB1242.namprd11.prod.outlook.com ([fe80::e0e3:1d51:9e3e:6dc%3]) with mapi id 15.20.1771.021; Tue, 9 Apr 2019 11:07:31 +0000 From: To: , , , , , Subject: [PATCH 5/7] media: atmel: atmel-isc: limit incoming pixels per frame Thread-Topic: [PATCH 5/7] media: atmel: atmel-isc: limit incoming pixels per frame Thread-Index: AQHU7sRtpDUqf390MEyRUtIRVD50SA== Date: Tue, 9 Apr 2019 11:07:31 +0000 Message-ID: <1554807715-2353-6-git-send-email-eugen.hristev@microchip.com> References: <1554807715-2353-1-git-send-email-eugen.hristev@microchip.com> In-Reply-To: <1554807715-2353-1-git-send-email-eugen.hristev@microchip.com> Accept-Language: ro-RO, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR09CA0054.eurprd09.prod.outlook.com (2603:10a6:802:28::22) To DM5PR11MB1242.namprd11.prod.outlook.com (2603:10b6:3:14::8) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Eugen.Hristev@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f8a10e4e-347c-4a0b-1f6e-08d6bcdb8f56 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(2017052603328)(7193020); SRVR:DM5PR11MB0011; x-ms-traffictypediagnostic: DM5PR11MB0011: x-microsoft-antispam-prvs: x-forefront-prvs: 000227DA0C x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(346002)(136003)(376002)(366004)(396003)(39850400004)(199004)(189003)(256004)(81166006)(66066001)(486006)(8676002)(36756003)(446003)(476003)(5660300002)(81156014)(50226002)(8936002)(71200400001)(71190400001)(14444005)(2616005)(11346002)(6512007)(106356001)(105586002)(7736002)(305945005)(478600001)(4326008)(2201001)(186003)(99286004)(76176011)(6486002)(107886003)(68736007)(97736004)(72206003)(110136005)(14454004)(316002)(53936002)(52116002)(26005)(54906003)(6436002)(6506007)(6116002)(2501003)(2906002)(3846002)(386003)(25786009)(102836004)(86362001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR11MB0011; H:DM5PR11MB1242.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: m7RRew/mtEZJGPLMnV+Oh5ExhTp3Vg9G2XAE5nJSLigZTKbfOOkqkpBSQvl6bWZ9Tcppz5SDmmY8vFXezV5IyVJSGcnULbyuJIbR5/5SbMH+b/n29KPJLbIhXoR7Yy0Zyg7T5DZlTcdJPX2ALnz5fQn7DfT5ZnJlRwdCHSd4h/IYJ8x4s46LL3TEavuAftMNsjBiwEkv3S3utYNTupG8EBnpRpo1XXfeGcutIgXAyKcxdLgD9NvbwmMIVL1TnEfCEPhUaHHxMauQfrAFiuMV7/cWCthgsrFlphusBP04RNLl9dk9glW1LxI62R1YNFW1tkoUG7qjeJLD6XlIh78TBluK8ngsx9n5zfZf8cdD24kQT23AoIAMidIwGvKAOrd5anvKUXN0wCAPJK3VOAAYhtYB1bZDzmvcVbZKEmBFzZM= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f8a10e4e-347c-4a0b-1f6e-08d6bcdb8f56 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2019 11:07:31.5906 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB0011 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190409_040736_286974_CF884F5E X-CRM114-Status: GOOD ( 13.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eugen.Hristev@microchip.com, ksloat@aampglobal.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Eugen Hristev This will limit the incoming pixels per frame from the sensor. Currently, the ISC will stop sampling the frame only when the vsync/hsync are detected. If we misconfigure the resolution in the sensor w.r.t. resolution in the ISC, the buffer used for DMA in the ISC will be smaller than the number of pixels that the ISC DMA engine will copy. In this case it happens that the DMA will overwrite parts of the memory which should not be written, leading to memory corruption. To avoid this situation, use the PFE CFG1 and PFE CFG2 registers, which crop the incoming frame to the resolution that we configure. This way the DMA engine will never write more data than we expect it to. Signed-off-by: Eugen Hristev --- drivers/media/platform/atmel/atmel-isc-regs.h | 19 +++++++++++++++ drivers/media/platform/atmel/atmel-isc.c | 34 +++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h index c720b1b..9b3a60b 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -35,6 +35,25 @@ #define ISC_PFG_CFG0_BPS_TWELVE (0x0 << 28) #define ISC_PFE_CFG0_BPS_MASK GENMASK(30, 28) +#define ISC_PFE_CFG0_COLEN BIT(12) +#define ISC_PFE_CFG0_ROWEN BIT(13) + +/* ISC Parallel Front End Configuration 1 Register */ +#define ISC_PFE_CFG1 0x00000010 + +#define ISC_PFE_CFG1_COLMIN(v) ((v)) +#define ISC_PFE_CFG1_COLMIN_MASK GENMASK(15, 0) +#define ISC_PFE_CFG1_COLMAX(v) ((v) << 16) +#define ISC_PFE_CFG1_COLMAX_MASK GENMASK(31, 16) + +/* ISC Parallel Front End Configuration 2 Register */ +#define ISC_PFE_CFG2 0x00000014 + +#define ISC_PFE_CFG2_ROWMIN(v) ((v)) +#define ISC_PFE_CFG2_ROWMIN_MASK GENMASK(15, 0) +#define ISC_PFE_CFG2_ROWMAX(v) ((v) << 16) +#define ISC_PFE_CFG2_ROWMAX_MASK GENMASK(31, 16) + /* ISC Clock Enable Register */ #define ISC_CLKEN 0x00000018 diff --git a/drivers/media/platform/atmel/atmel-isc.c b/drivers/media/platform/atmel/atmel-isc.c index e516805..902bd7e 100644 --- a/drivers/media/platform/atmel/atmel-isc.c +++ b/drivers/media/platform/atmel/atmel-isc.c @@ -764,12 +764,46 @@ static void isc_start_dma(struct isc_device *isc) u32 sizeimage = isc->fmt.fmt.pix.sizeimage; u32 dctrl_dview; dma_addr_t addr0; + u32 h, w; if (!isc->cur_frm) { v4l2_err(&isc->v4l2_dev, "Video buffer not available\n"); return; } + h = isc->fmt.fmt.pix.height; + w = isc->fmt.fmt.pix.width; + + /* + * In case the sensor is not RAW, it will output a pixel (12-16 bits) + * with two samples on the ISC Data bus (which is 8-12) + * ISC will count each sample, so, we need to multiply these values + * by two, to get the real number of samples for the required pixels. + */ + if (!ISC_IS_FORMAT_RAW(isc->config.sd_format->mbus_code)) { + h <<= 1; + w <<= 1; + } + + /* + * We limit the column/row count that the ISC will output according + * to the configured resolution that we want. + * This will avoid the situation where the sensor is misconfigured, + * sending more data, and the ISC will just take it and DMA to memory, + * causing corruption. + */ + regmap_write(regmap, ISC_PFE_CFG1, + (ISC_PFE_CFG1_COLMIN(0) & ISC_PFE_CFG1_COLMIN_MASK) | + (ISC_PFE_CFG1_COLMAX(w - 1) & ISC_PFE_CFG1_COLMAX_MASK)); + + regmap_write(regmap, ISC_PFE_CFG2, + (ISC_PFE_CFG2_ROWMIN(0) & ISC_PFE_CFG2_ROWMIN_MASK) | + (ISC_PFE_CFG2_ROWMAX(h - 1) & ISC_PFE_CFG2_ROWMAX_MASK)); + + regmap_update_bits(regmap, ISC_PFE_CFG0, + ISC_PFE_CFG0_COLEN | ISC_PFE_CFG0_ROWEN, + ISC_PFE_CFG0_COLEN | ISC_PFE_CFG0_ROWEN); + addr0 = vb2_dma_contig_plane_dma_addr(&isc->cur_frm->vb.vb2_buf, 0); regmap_write(regmap, ISC_DAD0, addr0); -- 2.7.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EFB2DC10F0E for ; Tue, 9 Apr 2019 11:07:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B51EB2084F for ; Tue, 9 Apr 2019 11:07:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="fOxnvFOP" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727164AbfDILHw (ORCPT ); Tue, 9 Apr 2019 07:07:52 -0400 Received: from esa2.microchip.iphmx.com ([68.232.149.84]:55266 "EHLO esa2.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726112AbfDILHe (ORCPT ); Tue, 9 Apr 2019 07:07:34 -0400 X-IronPort-AV: E=Sophos;i="5.60,329,1549954800"; d="scan'208";a="29738805" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Apr 2019 04:07:33 -0700 Received: from NAM05-CO1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.106) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 9 Apr 2019 04:07:33 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8E/p0FPFMNXWGuNw0abjyVkKdI/h196NH068J1g2B00=; b=fOxnvFOPWnzOnTt4/uuUBKAxlfDNHEOqh986R7gJ+Dr431PuA1f9Jf/90mHnhOveW8Oj53aXASxW8LgJS26I2EbU1b+8ss/JTPctwy3zxNoxweROrOZ4dFIDcu3r9sK3buTB1lO22dZhtYuUkmknEGdBdJYUPfVdk5gQ7i4Jjb0= Received: from DM5PR11MB1242.namprd11.prod.outlook.com (10.168.108.8) by DM5PR11MB0011.namprd11.prod.outlook.com (10.164.155.29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1771.19; Tue, 9 Apr 2019 11:07:31 +0000 Received: from DM5PR11MB1242.namprd11.prod.outlook.com ([fe80::e0e3:1d51:9e3e:6dc]) by DM5PR11MB1242.namprd11.prod.outlook.com ([fe80::e0e3:1d51:9e3e:6dc%3]) with mapi id 15.20.1771.021; Tue, 9 Apr 2019 11:07:31 +0000 From: To: , , , , , CC: , Subject: [PATCH 5/7] media: atmel: atmel-isc: limit incoming pixels per frame Thread-Topic: [PATCH 5/7] media: atmel: atmel-isc: limit incoming pixels per frame Thread-Index: AQHU7sRtpDUqf390MEyRUtIRVD50SA== Date: Tue, 9 Apr 2019 11:07:31 +0000 Message-ID: <1554807715-2353-6-git-send-email-eugen.hristev@microchip.com> References: <1554807715-2353-1-git-send-email-eugen.hristev@microchip.com> In-Reply-To: <1554807715-2353-1-git-send-email-eugen.hristev@microchip.com> Accept-Language: ro-RO, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR09CA0054.eurprd09.prod.outlook.com (2603:10a6:802:28::22) To DM5PR11MB1242.namprd11.prod.outlook.com (2603:10b6:3:14::8) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Eugen.Hristev@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f8a10e4e-347c-4a0b-1f6e-08d6bcdb8f56 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(2017052603328)(7193020);SRVR:DM5PR11MB0011; x-ms-traffictypediagnostic: DM5PR11MB0011: x-microsoft-antispam-prvs: x-forefront-prvs: 000227DA0C x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(979002)(346002)(136003)(376002)(366004)(396003)(39850400004)(199004)(189003)(256004)(81166006)(66066001)(486006)(8676002)(36756003)(446003)(476003)(5660300002)(81156014)(50226002)(8936002)(71200400001)(71190400001)(14444005)(2616005)(11346002)(6512007)(106356001)(105586002)(7736002)(305945005)(478600001)(4326008)(2201001)(186003)(99286004)(76176011)(6486002)(107886003)(68736007)(97736004)(72206003)(110136005)(14454004)(316002)(53936002)(52116002)(26005)(54906003)(6436002)(6506007)(6116002)(2501003)(2906002)(3846002)(386003)(25786009)(102836004)(86362001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR11MB0011;H:DM5PR11MB1242.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: m7RRew/mtEZJGPLMnV+Oh5ExhTp3Vg9G2XAE5nJSLigZTKbfOOkqkpBSQvl6bWZ9Tcppz5SDmmY8vFXezV5IyVJSGcnULbyuJIbR5/5SbMH+b/n29KPJLbIhXoR7Yy0Zyg7T5DZlTcdJPX2ALnz5fQn7DfT5ZnJlRwdCHSd4h/IYJ8x4s46LL3TEavuAftMNsjBiwEkv3S3utYNTupG8EBnpRpo1XXfeGcutIgXAyKcxdLgD9NvbwmMIVL1TnEfCEPhUaHHxMauQfrAFiuMV7/cWCthgsrFlphusBP04RNLl9dk9glW1LxI62R1YNFW1tkoUG7qjeJLD6XlIh78TBluK8ngsx9n5zfZf8cdD24kQT23AoIAMidIwGvKAOrd5anvKUXN0wCAPJK3VOAAYhtYB1bZDzmvcVbZKEmBFzZM= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f8a10e4e-347c-4a0b-1f6e-08d6bcdb8f56 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2019 11:07:31.5906 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB0011 X-OriginatorOrg: microchip.com Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org RnJvbTogRXVnZW4gSHJpc3RldiA8ZXVnZW4uaHJpc3RldkBtaWNyb2NoaXAuY29tPg0KDQpUaGlz IHdpbGwgbGltaXQgdGhlIGluY29taW5nIHBpeGVscyBwZXIgZnJhbWUgZnJvbSB0aGUgc2Vuc29y Lg0KQ3VycmVudGx5LCB0aGUgSVNDIHdpbGwgc3RvcCBzYW1wbGluZyB0aGUgZnJhbWUgb25seSB3 aGVuIHRoZSB2c3luYy9oc3luYw0KYXJlIGRldGVjdGVkLg0KSWYgd2UgbWlzY29uZmlndXJlIHRo ZSByZXNvbHV0aW9uIGluIHRoZSBzZW5zb3Igdy5yLnQuIHJlc29sdXRpb24gaW4gdGhlIElTQywN CnRoZSBidWZmZXIgdXNlZCBmb3IgRE1BIGluIHRoZSBJU0Mgd2lsbCBiZSBzbWFsbGVyIHRoYW4g dGhlIG51bWJlciBvZiBwaXhlbHMNCnRoYXQgdGhlIElTQyBETUEgZW5naW5lIHdpbGwgY29weS4N CkluIHRoaXMgY2FzZSBpdCBoYXBwZW5zIHRoYXQgdGhlIERNQSB3aWxsIG92ZXJ3cml0ZSBwYXJ0 cyBvZiB0aGUgbWVtb3J5IHdoaWNoDQpzaG91bGQgbm90IGJlIHdyaXR0ZW4sIGxlYWRpbmcgdG8g bWVtb3J5IGNvcnJ1cHRpb24uDQpUbyBhdm9pZCB0aGlzIHNpdHVhdGlvbiwgdXNlIHRoZSBQRkUg Q0ZHMSBhbmQgUEZFIENGRzIgcmVnaXN0ZXJzLCB3aGljaCBjcm9wDQp0aGUgaW5jb21pbmcgZnJh bWUgdG8gdGhlIHJlc29sdXRpb24gdGhhdCB3ZSBjb25maWd1cmUuDQpUaGlzIHdheSB0aGUgRE1B IGVuZ2luZSB3aWxsIG5ldmVyIHdyaXRlIG1vcmUgZGF0YSB0aGFuIHdlIGV4cGVjdCBpdCB0by4N Cg0KU2lnbmVkLW9mZi1ieTogRXVnZW4gSHJpc3RldiA8ZXVnZW4uaHJpc3RldkBtaWNyb2NoaXAu Y29tPg0KLS0tDQogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MtcmVncy5o IHwgMTkgKysrKysrKysrKysrKysrDQogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1l bC1pc2MuYyAgICAgIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogMiBmaWxlcyBj aGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1yZWdzLmggYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0 bWVsL2F0bWVsLWlzYy1yZWdzLmgNCmluZGV4IGM3MjBiMWIuLjliM2E2MGIgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1yZWdzLmgNCisrKyBiL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLXJlZ3MuaA0KQEAgLTM1LDYgKzM1 LDI1IEBADQogI2RlZmluZSBJU0NfUEZHX0NGRzBfQlBTX1RXRUxWRSAoMHgwIDw8IDI4KQ0KICNk ZWZpbmUgSVNDX1BGRV9DRkcwX0JQU19NQVNLICAgR0VOTUFTSygzMCwgMjgpDQogDQorI2RlZmlu ZSBJU0NfUEZFX0NGRzBfQ09MRU4JQklUKDEyKQ0KKyNkZWZpbmUgSVNDX1BGRV9DRkcwX1JPV0VO CUJJVCgxMykNCisNCisvKiBJU0MgUGFyYWxsZWwgRnJvbnQgRW5kIENvbmZpZ3VyYXRpb24gMSBS ZWdpc3RlciAqLw0KKyNkZWZpbmUgSVNDX1BGRV9DRkcxICAgIDB4MDAwMDAwMTANCisNCisjZGVm aW5lIElTQ19QRkVfQ0ZHMV9DT0xNSU4odikJCSgodikpDQorI2RlZmluZSBJU0NfUEZFX0NGRzFf Q09MTUlOX01BU0sJR0VOTUFTSygxNSwgMCkNCisjZGVmaW5lIElTQ19QRkVfQ0ZHMV9DT0xNQVgo dikJCSgodikgPDwgMTYpDQorI2RlZmluZSBJU0NfUEZFX0NGRzFfQ09MTUFYX01BU0sJR0VOTUFT SygzMSwgMTYpDQorDQorLyogSVNDIFBhcmFsbGVsIEZyb250IEVuZCBDb25maWd1cmF0aW9uIDIg UmVnaXN0ZXIgKi8NCisjZGVmaW5lIElTQ19QRkVfQ0ZHMiAgICAweDAwMDAwMDE0DQorDQorI2Rl ZmluZSBJU0NfUEZFX0NGRzJfUk9XTUlOKHYpCQkoKHYpKQ0KKyNkZWZpbmUgSVNDX1BGRV9DRkcy X1JPV01JTl9NQVNLCUdFTk1BU0soMTUsIDApDQorI2RlZmluZSBJU0NfUEZFX0NGRzJfUk9XTUFY KHYpCQkoKHYpIDw8IDE2KQ0KKyNkZWZpbmUgSVNDX1BGRV9DRkcyX1JPV01BWF9NQVNLCUdFTk1B U0soMzEsIDE2KQ0KKw0KIC8qIElTQyBDbG9jayBFbmFibGUgUmVnaXN0ZXIgKi8NCiAjZGVmaW5l IElTQ19DTEtFTiAgICAgICAgICAgICAgIDB4MDAwMDAwMTgNCiANCmRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYw0KaW5kZXggZTUxNjgwNS4uOTAyYmQ3ZSAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmMNCisrKyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmMNCkBAIC03NjQsMTIgKzc2NCw0NiBA QCBzdGF0aWMgdm9pZCBpc2Nfc3RhcnRfZG1hKHN0cnVjdCBpc2NfZGV2aWNlICppc2MpDQogCXUz MiBzaXplaW1hZ2UgPSBpc2MtPmZtdC5mbXQucGl4LnNpemVpbWFnZTsNCiAJdTMyIGRjdHJsX2R2 aWV3Ow0KIAlkbWFfYWRkcl90IGFkZHIwOw0KKwl1MzIgaCwgdzsNCiANCiAJaWYgKCFpc2MtPmN1 cl9mcm0pIHsNCiAJCXY0bDJfZXJyKCZpc2MtPnY0bDJfZGV2LCAiVmlkZW8gYnVmZmVyIG5vdCBh dmFpbGFibGVcbiIpOw0KIAkJcmV0dXJuOw0KIAl9DQogDQorCWggPSBpc2MtPmZtdC5mbXQucGl4 LmhlaWdodDsNCisJdyA9IGlzYy0+Zm10LmZtdC5waXgud2lkdGg7DQorDQorCS8qDQorCSAqIElu IGNhc2UgdGhlIHNlbnNvciBpcyBub3QgUkFXLCBpdCB3aWxsIG91dHB1dCBhIHBpeGVsICgxMi0x NiBiaXRzKQ0KKwkgKiB3aXRoIHR3byBzYW1wbGVzIG9uIHRoZSBJU0MgRGF0YSBidXMgKHdoaWNo IGlzIDgtMTIpDQorCSAqIElTQyB3aWxsIGNvdW50IGVhY2ggc2FtcGxlLCBzbywgd2UgbmVlZCB0 byBtdWx0aXBseSB0aGVzZSB2YWx1ZXMNCisJICogYnkgdHdvLCB0byBnZXQgdGhlIHJlYWwgbnVt YmVyIG9mIHNhbXBsZXMgZm9yIHRoZSByZXF1aXJlZCBwaXhlbHMuDQorCSAqLw0KKwlpZiAoIUlT Q19JU19GT1JNQVRfUkFXKGlzYy0+Y29uZmlnLnNkX2Zvcm1hdC0+bWJ1c19jb2RlKSkgew0KKwkJ aCA8PD0gMTsNCisJCXcgPDw9IDE7DQorCX0NCisNCisJLyoNCisJICogV2UgbGltaXQgdGhlIGNv bHVtbi9yb3cgY291bnQgdGhhdCB0aGUgSVNDIHdpbGwgb3V0cHV0IGFjY29yZGluZw0KKwkgKiB0 byB0aGUgY29uZmlndXJlZCByZXNvbHV0aW9uIHRoYXQgd2Ugd2FudC4NCisJICogVGhpcyB3aWxs IGF2b2lkIHRoZSBzaXR1YXRpb24gd2hlcmUgdGhlIHNlbnNvciBpcyBtaXNjb25maWd1cmVkLA0K KwkgKiBzZW5kaW5nIG1vcmUgZGF0YSwgYW5kIHRoZSBJU0Mgd2lsbCBqdXN0IHRha2UgaXQgYW5k IERNQSB0byBtZW1vcnksDQorCSAqIGNhdXNpbmcgY29ycnVwdGlvbi4NCisJICovDQorCXJlZ21h cF93cml0ZShyZWdtYXAsIElTQ19QRkVfQ0ZHMSwNCisJCSAgICAgKElTQ19QRkVfQ0ZHMV9DT0xN SU4oMCkgJiBJU0NfUEZFX0NGRzFfQ09MTUlOX01BU0spIHwNCisJCSAgICAgKElTQ19QRkVfQ0ZH MV9DT0xNQVgodyAtIDEpICYgSVNDX1BGRV9DRkcxX0NPTE1BWF9NQVNLKSk7DQorDQorCXJlZ21h cF93cml0ZShyZWdtYXAsIElTQ19QRkVfQ0ZHMiwNCisJCSAgICAgKElTQ19QRkVfQ0ZHMl9ST1dN SU4oMCkgJiBJU0NfUEZFX0NGRzJfUk9XTUlOX01BU0spIHwNCisJCSAgICAgKElTQ19QRkVfQ0ZH Ml9ST1dNQVgoaCAtIDEpICYgSVNDX1BGRV9DRkcyX1JPV01BWF9NQVNLKSk7DQorDQorCXJlZ21h cF91cGRhdGVfYml0cyhyZWdtYXAsIElTQ19QRkVfQ0ZHMCwNCisJCQkgICBJU0NfUEZFX0NGRzBf Q09MRU4gfCBJU0NfUEZFX0NGRzBfUk9XRU4sDQorCQkJICAgSVNDX1BGRV9DRkcwX0NPTEVOIHwg SVNDX1BGRV9DRkcwX1JPV0VOKTsNCisNCiAJYWRkcjAgPSB2YjJfZG1hX2NvbnRpZ19wbGFuZV9k bWFfYWRkcigmaXNjLT5jdXJfZnJtLT52Yi52YjJfYnVmLCAwKTsNCiAJcmVnbWFwX3dyaXRlKHJl Z21hcCwgSVNDX0RBRDAsIGFkZHIwKTsNCiANCi0tIA0KMi43LjQNCg0K