Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2675013pxb; Tue, 13 Apr 2021 07:36:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpyDrQ2gMWvlN+Ly5fFhcIOY7Y2DLPg4A23pV2qBhgLHa1bv+iBZlscEXGLQr9ru1aY3gp X-Received: by 2002:a62:8f4a:0:b029:20a:448e:7018 with SMTP id n71-20020a628f4a0000b029020a448e7018mr29330421pfd.62.1618324568292; Tue, 13 Apr 2021 07:36:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618324568; cv=none; d=google.com; s=arc-20160816; b=WV3b6DHpimhKX6JHOCOyOSdEcuD48ugXpDfB+k3DcF2Hz2lOHHAx71g4LWbeuZdszy Y4aSylqHTRRna2RVki0qdmFitbctxQCFw9u9V687B3DxWITc4bJVkH/wlgIv0SWZFunp tjGi5v+e8EB3OF2lHuB40I79k1umxgcjxpWQURe3zLhGwDuIX9cKpygK3s5LDMYuOg/I 5jR58jiy9jk0No3EwalX2zvx6xk1TEmTTasPitzGeMxZOFEmlzqA018A/lIHDZTN0UQE EbGoYRxNTHtQ9U47sg6oIFbF18rZooO7JDuNH4ZC6v2krdovX3zaBybo4ZAb0fp0b8Of wMhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:dkim-signature; bh=w5M5tT7Gv/O63WU61RlVQ76HyqBstHqyW8E2+xPPx+Q=; b=VFW7DKiHMhzl7LqLaLgzwkARFtOe9dqMMPAYnuOF5EuIEAKj643IlSyp2zDA42nGXD SPPj8WJuS+YA2CmY1zCQcfFtEx8IrdtLrTFRyO0/Z5BAFjpzrlvusb2QHjg+fYTKYvqV mbyCwgpnM3q8Jwx2Fw7tlK5WNuKDvA8+HsEpDWK/1E4e36b/XLB42goMIUT4dgD9LEeU GPp4IV8Dva7k61/BLXun87b2gzdBvMDPZuQYuCBV6abF6iQm0j8Lh6QTBcMWkKeTBAfZ qKmokmBB56SrcscLcGtsAqA0eob6QEAMdyHDy9NRgyd1vJNJeuJfgYCJ4bKK0ElWLpSt Ztkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=ROD1UY4C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t5si16713786pgk.379.2021.04.13.07.35.55; Tue, 13 Apr 2021 07:36:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=ROD1UY4C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344753AbhDMK7x (ORCPT + 99 others); Tue, 13 Apr 2021 06:59:53 -0400 Received: from esa.microchip.iphmx.com ([68.232.154.123]:8220 "EHLO esa.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344702AbhDMK7h (ORCPT ); Tue, 13 Apr 2021 06:59:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1618311557; x=1649847557; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=W9RTc4XTqmuga+DzPKp51siwwTSJHh6dtg9LlNk0M14=; b=ROD1UY4CbO7Yghp4MfdDoGxoXPg4h3A3CGWjz3K/NS8Y/e4z5jHXTzO7 rUDxwmVa+6m/X/RBXJbfOvzOVqh9scxke5/lpqDrhXamkZrsNTfCCaYTL RctHR4QxzvSJxB5G6z7p7Vvbx2QbxlBTEwufQYIBvBIFqRFp9DxAKHflB VKQGvcAC5unLolZCJjMb2YDSgIKd+eue3e/i/YKk2flg14+ctVAEqbOrb TFpZd1x31/gCADQ0JtJJYVl1hR9RvnVHUP11wzqmpIBXbWv1BPnLEZD0K UFqODl2qcOxiOMKyaLjhGVpRfUio9XxvEmvtiItyp1brMV1qQMAGwwkL0 A==; IronPort-SDR: ms86BeAsj5FYlLUxZxx8OPmHcOsTy/M4PUSAdNxytlgr3slxtn1n449DKYwWl2L7bZ8AMWEZtW IUUS0/JiYfw0eLaFJ+iEBxOBOtktw5D0N0sWuXb3VOGj5qA4Upmcw//KiEewfHzJfXWedObR4d JLiBdlNm1ze4wIdNUNlu7ncZ4G/udbVr4jEbL9sS1XIpPjmHWwpLV7qA78cnvUpU3Qyk4dd8c9 b8r1pXs01ti1WHzPvBfsYkoEBi2Is3bGLBWAYi1/UK22Rc+2iiC80nBlV2aCbTcyrv/ymRep3G j8U= X-IronPort-AV: E=Sophos;i="5.82,219,1613458800"; d="scan'208";a="110611688" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 13 Apr 2021 03:59:17 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 13 Apr 2021 03:59:17 -0700 Received: from ROB-ULT-M18282.microchip.com (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.2176.2 via Frontend Transport; Tue, 13 Apr 2021 03:59:04 -0700 From: Eugen Hristev To: , , , CC: , , Eugen Hristev Subject: [PATCH v3 03/33] media: atmel: atmel-isc: add checks for limiting frame sizes Date: Tue, 13 Apr 2021 13:57:01 +0300 Message-ID: <20210413105731.610028-4-eugen.hristev@microchip.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210413105731.610028-1-eugen.hristev@microchip.com> References: <20210413105731.610028-1-eugen.hristev@microchip.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When calling the subdev, certain subdev drivers will overwrite the frame size and adding sizes which are beyond the ISC's capabilities. Thus we need to ensure the frame size is cropped to the maximum caps. Signed-off-by: Eugen Hristev --- drivers/media/platform/atmel/atmel-isc-base.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c index 277a8fd8b83d..45fc8dbb7943 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c @@ -1326,6 +1326,12 @@ static int isc_try_fmt(struct isc_device *isc, struct v4l2_format *f, v4l2_fill_pix_format(pixfmt, &format.format); + /* Limit to Atmel ISC hardware capabilities */ + if (pixfmt->width > ISC_MAX_SUPPORT_WIDTH) + pixfmt->width = ISC_MAX_SUPPORT_WIDTH; + if (pixfmt->height > ISC_MAX_SUPPORT_HEIGHT) + pixfmt->height = ISC_MAX_SUPPORT_HEIGHT; + pixfmt->field = V4L2_FIELD_NONE; pixfmt->bytesperline = (pixfmt->width * isc->try_config.bpp) >> 3; pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height; @@ -1361,6 +1367,12 @@ static int isc_set_fmt(struct isc_device *isc, struct v4l2_format *f) if (ret < 0) return ret; + /* Limit to Atmel ISC hardware capabilities */ + if (pixfmt->width > ISC_MAX_SUPPORT_WIDTH) + pixfmt->width = ISC_MAX_SUPPORT_WIDTH; + if (pixfmt->height > ISC_MAX_SUPPORT_HEIGHT) + pixfmt->height = ISC_MAX_SUPPORT_HEIGHT; + isc->fmt = *f; if (isc->try_config.sd_format && isc->config.sd_format && -- 2.25.1