Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2675116pxb; Tue, 13 Apr 2021 07:36:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwcv6088W5pTF36VAnkH2A10iMxIeg3Rfz6Jjq8r8dGd6iYa6IyMx6SAoVm1g9dbhSVfDoW X-Received: by 2002:a17:90a:7c4b:: with SMTP id e11mr313206pjl.151.1618324576583; Tue, 13 Apr 2021 07:36:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618324576; cv=none; d=google.com; s=arc-20160816; b=ZbPwHxHhfK27UGY8hsOWMV5Y7V40YJXfHJb+jDq8Brrb3xN0V1p3L+zqxpimXGtdRv DmIgQceEMHbw+/XBn9dfICMcG/eCZIKEaPfUrGh7X3yxCyj73FG96ljfLFi54Z08FL/y ny3pTkMQPEUL2wQOQZqQB0bpET100rEZken+P5Qx1FGiOGw/7I9KoPi1E8I250tfOtSw /CHlt84PUO7pENkHJjPDJRyidlI1tx1Q9qXAbknNDP3ardlfHKY6wOaquh89LB6QtAxv 9/94l+OtnpjhQZL7CrhN0yyInzBoGSNWwp2A9p2QqvQz7c+YE2r2PzlTh1RzxgAGGyY4 VFMw== 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=tJ2fHR6IWZ2CejszJFOFvAX47dB2CSV0KRRv0tRpuNM=; b=yECTk7VSOJSux6tsi462oShJTJZSThorqNrfa350xHHeDvY0xz7WWjQe5hdlfXQQtG qSjHsB//5qcfVAkR8EJxtCISM5XpzXqMU/x9n38eIAzoChGru8OVuxb0Jn+PFBehD0LX yxDLp0xPCYvlNeYcQTABNNRlOoViQaPF+e/xSyzkliAJCpZDM7IgU1vbl0a7i1nFnL8c GxVLBTnQM8zuSFhhNrDip/eKIL+CegWymMVoVUbHahA4HQN5iRzr1U3hUAYSx2NKzXL5 L4W4zeplLUmbD2Bca0I0GlbuiACivDc+mWiQmYFPq4sNn4DM4YP2ROkGs8wloFGnoJ31 +hLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b="17HA5Ob/"; 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 l6si10074860plk.312.2021.04.13.07.36.03; Tue, 13 Apr 2021 07:36:16 -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="17HA5Ob/"; 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 S1344505AbhDMLBn (ORCPT + 99 others); Tue, 13 Apr 2021 07:01:43 -0400 Received: from esa.microchip.iphmx.com ([68.232.153.233]:17042 "EHLO esa.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237049AbhDMLBg (ORCPT ); Tue, 13 Apr 2021 07:01:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1618311676; x=1649847676; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xujB/V0ANsjaS23XCfBGiQcBwh4C7oLpXBibigw9X1M=; b=17HA5Ob/PhoZnLlEErn92DECaXJ0xdnyjKmnznYzLkAmA4peGdHXeiUW TpFJqGGYkPDrwsqR/jD2O5ODaWWm5XKNsbFlg99BzaApMapb+xJYJ+W9N 3/2rsC66IWooFgy/PuYmpvRSKXUWIHv3s9TKwc/PHoYw2m56PuZd9ROmR oLoXSjU/+LWStoUpGL92UWfJ4VDo3KOHA/PbSfE31mpJkS4Hv7qzEfWCf 7Nu2km7G76n+pGWUnmZrbTUQPRKGnzj7IAG+vEUIvX+O4zpytXYiqG6JB ZXm5YnZikDuQib2+EfrSwZfaXWb2pvieexzB6zcRo0H9rR05rp8KKGtnF Q==; IronPort-SDR: 0FnAOMBR/clBXkwwL+nVdTfE51fLHDnPcBSUMbetTOSbNgnymgG/OTkmLX+LGz9QU69pq9zypQ 0HJHVhEhGoYBSti1jqzF9+FJGGcEFj7xsNl44VWZK8mHwJxkKrKVuDggsoRS8wsHy5s9NxQa94 iyhqAxGo/2TgVI0M6s664eGS8ll1L7BtVgL9A1iyVkAh4D/0idUCaJa+CPGGjLXULA7nA3IFwT lFAejY4qXgdWnI+pb41Ih8y74zdMRZuL63U49diZ7Gpmg7Mt4bT6Dq3XB40IMHDV4pqNdcsE6y Mxg= X-IronPort-AV: E=Sophos;i="5.82,219,1613458800"; d="scan'208";a="116804161" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa3.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 13 Apr 2021 04:01:16 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) 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; Tue, 13 Apr 2021 04:01:16 -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 04:01:05 -0700 From: Eugen Hristev To: , , , CC: , , Eugen Hristev Subject: [PATCH v3 10/33] media: atmel: atmel-isc: add CBC to the reg offsets struct Date: Tue, 13 Apr 2021 13:57:08 +0300 Message-ID: <20210413105731.610028-11-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 The CBC submodule is a part of the atmel-isc pipeline, and stands for Contrast Brightness Control. It is used to apply gains and offsets to the luma (Y) and chroma (U, V) components of the YUV elements. Add cbc to the reg offsets struct. This will allow different products to have a different reg offset for this particular module. Signed-off-by: Eugen Hristev --- Changes in v3: - add module explanation in commit message drivers/media/platform/atmel/atmel-isc-base.c | 2 +- drivers/media/platform/atmel/atmel-isc-regs.h | 3 +++ drivers/media/platform/atmel/atmel-isc.h | 2 ++ drivers/media/platform/atmel/atmel-sama5d2-isc.c | 7 +++++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c index 446fe232956b..d4bf7fd5929f 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c @@ -2310,7 +2310,7 @@ int isc_pipeline_init(struct isc_device *isc) REG_FIELD(ISC_GAM_CTRL, 2, 2), REG_FIELD(ISC_GAM_CTRL, 3, 3), REG_FIELD(ISC_CSC_CTRL + isc->offsets.csc, 0, 0), - REG_FIELD(ISC_CBC_CTRL, 0, 0), + REG_FIELD(ISC_CBC_CTRL + isc->offsets.cbc, 0, 0), REG_FIELD(ISC_SUB422_CTRL, 0, 0), REG_FIELD(ISC_SUB420_CTRL, 0, 0), }; diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h index 5a65600c5f88..a5e2fe01ba9f 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -177,6 +177,9 @@ /* Color Space Conversion CRB OCR Register */ #define ISC_CSC_CRB_OCR 0x000003b0 +/* Offset for CBC register specific to sama5d2 product */ +#define ISC_SAMA5D2_CBC_OFFSET 0 + /* Contrast And Brightness Control Register */ #define ISC_CBC_CTRL 0x000003b4 diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h index cb47932197b1..b1fe93c93c61 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -147,9 +147,11 @@ struct isc_ctrls { /* * struct isc_reg_offsets - ISC device register offsets * @csc: Offset for the CSC register + * @cbc: Offset for the CBC register */ struct isc_reg_offsets { u32 csc; + u32 cbc; }; /* diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c index 66b92fa1c752..c3037244e01e 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c @@ -80,8 +80,10 @@ void isc_sama5d2_config_cbc(struct isc_device *isc) { struct regmap *regmap = isc->regmap; - regmap_write(regmap, ISC_CBC_BRIGHT, isc->ctrls.brightness); - regmap_write(regmap, ISC_CBC_CONTRAST, isc->ctrls.contrast); + regmap_write(regmap, ISC_CBC_BRIGHT + isc->offsets.cbc, + isc->ctrls.brightness); + regmap_write(regmap, ISC_CBC_CONTRAST + isc->offsets.cbc, + isc->ctrls.contrast); } /* Gamma table with gamma 1/2.2 */ @@ -232,6 +234,7 @@ static int atmel_isc_probe(struct platform_device *pdev) isc->config_cbc = isc_sama5d2_config_cbc; isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; + isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET; /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; -- 2.25.1