Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp703562pxf; Thu, 1 Apr 2021 11:18:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzIgg8kQNMFoTo7f/Rq94Ylm61VZ3D8wmakESnR07/OvEJEHx4+G0Ej9Vgo+xLbt57Yli+L X-Received: by 2002:a92:c011:: with SMTP id q17mr7638417ild.247.1617301086916; Thu, 01 Apr 2021 11:18:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617301086; cv=none; d=google.com; s=arc-20160816; b=TAHxt8MeNXmQupacBckj3tfnLGAHFPiA+Rn2mxkgCdFByud0aEyWQ0/OsmD/uVQ70Q omctW277W/zMdZ23KbRJdr+QK/lR14/s/hVqwlkoKNUwlUiRhYfoKai+z8ayQy4Z3Bmt zFUyq6a0jWksK6tvzthjiOMma41jitxnsLMjDVLtJVOZ1OpIuujDPaHp+MgRjr1eVruc o6m7nn5z9n/nOSh/2QQD5/n2C5KueItSWcrDvkzQRNDykWl5uiwEpccBWWqjAMCtnamL HUdDO1sZWqQeAv1KuSoLZNAPqcPoMrnvn/qmghT5658kFSKeJqsEAou/jXd5goHoXejy /CYw== 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=mQSXRkxR4s9mHq2mxYbM7emLKuEdV9qq0Tl4v0SCulCMJdX8Y+IFZWY8hU69V3pqJM DwAVXzOL3a7WZ5g0aBKD27V3GXOgOhTF3Q5W/vSQXdbG0Iu9mrEZP9AwZF3RPw4YHEgn OBRToz3R5JXeI4hvtpI0INfulIJACByK2bxDcnj7q81pUQgMvX2NZK9sXckrzx9XBI30 OKm9OsGiYpPbCTGnyq2gzqH/kDNWjGvu1pMJdBn1NwJhUsF8oWnBAN79o0VKOIW/nhAX fOYRcxXD8Gn/BWW1B2CtYn6JGIwq0lc5jTj9FTa04oAAbtHCtQqpggLfPi+5z/WSMEBo SSKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=JdISQQV7; 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 x18si6026427jas.18.2021.04.01.11.17.53; Thu, 01 Apr 2021 11:18:06 -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=JdISQQV7; 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 S239421AbhDASQY (ORCPT + 99 others); Thu, 1 Apr 2021 14:16:24 -0400 Received: from esa.microchip.iphmx.com ([68.232.154.123]:64963 "EHLO esa.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236125AbhDAR6J (ORCPT ); Thu, 1 Apr 2021 13:58:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1617299890; x=1648835890; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=W9RTc4XTqmuga+DzPKp51siwwTSJHh6dtg9LlNk0M14=; b=JdISQQV71oRTMSbVyiDce3mAtp+DbF2qLFN+8Tx7iwjUeEMb4OfDAE76 44Y1WxYlLPl3lEOkFonxqoE5XJxFglqHSkXpzIZKxdFU7ljKDUmIvsdkN FTB8KLAnUeG4QG4ATb0QZ9qLZ3PmAuWswcO/n8OwWQv9ZBXcJklKjZBFk vTd1GkmnLHw6FsbvFtYxUSuJFWbILDFXNnlDhOnK4m+3rts8DglWhUa1i EfdIRyRAJqCbACizzXffyBJ1ZXgLaWVyTziYJm2oKGH56x7LCoxWQSZ4W HYWYz9qL7Ai9fjd2rjUTx46Yfcmy7tywFHzY33a1LQUet2YFwY6X+mf9v g==; IronPort-SDR: K+0CHeN8sXO2Clckg6iw7tDsPSThzOwwt247IYudrwp2ws8cRp42hOdW7SP6Q6MpJ/+4cANq0p 92VHzAhq0XZ2yCzUJD8z+D4g86MQQRseco5iUctWGUcfXml7tCvqwzDffzMfAgvC/tHw8BPV5v Cy+mdavvgdXvkn1Ojk5j3PdZhXHF03dWRLu1SVjtyVtf0ExBzypqZrodhdOF9D9Xy4kq+gTZDH E++Ezx5fAaHP0C0hL9ba+Yv87H4XY8Fyjg7UfWzHeESJSPBqC6FCglMSTlAs5Dto5NRn6abbfe JQg= X-IronPort-AV: E=Sophos;i="5.81,296,1610434800"; d="scan'208";a="49670689" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa6.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 01 Apr 2021 04:29:04 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Thu, 1 Apr 2021 04:29:04 -0700 Received: from ROB-ULT-M18282.microchip.com (10.10.115.15) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id 15.1.2176.2 via Frontend Transport; Thu, 1 Apr 2021 04:29:02 -0700 From: Eugen Hristev To: , CC: , , Eugen Hristev Subject: [PATCH 03/30] media: atmel: atmel-isc: add checks for limiting frame sizes Date: Thu, 1 Apr 2021 14:26:56 +0300 Message-ID: <20210401112723.189107-4-eugen.hristev@microchip.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210401112723.189107-1-eugen.hristev@microchip.com> References: <20210401112723.189107-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