Received: by 2002:a89:48b:0:b0:1f5:f2ab:c469 with SMTP id a11csp208193lqd; Tue, 23 Apr 2024 22:34:36 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUs4HxjXpfu4v74LGYZGSLDGbJmZBreCZ8UOn4iuAZrKEs+ieI+YG8XiMOnFme1GaN0ehfKJE+1HmnDD8nEMuCfJ+BWlTJApYhbllMmxQ== X-Google-Smtp-Source: AGHT+IG6GHZhjUXi/iWtMwdyJWKDj5m5McC/+OUP1B6rIxxXm0p8NdBjfWAGvzNJw6C4hY9UhxLl X-Received: by 2002:a17:906:270b:b0:a55:b284:f453 with SMTP id z11-20020a170906270b00b00a55b284f453mr4963939ejc.2.1713936876124; Tue, 23 Apr 2024 22:34:36 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713936876; cv=pass; d=google.com; s=arc-20160816; b=MH8v5XW76YGF/T8Fj8W+X+dD2NGnrNIITVbeZa/Y5WihRDq5GeRRjnCQnSZgt7O/VI LSd7sq8bnmgtwVAarfRzEBY/jdhpk0yAPk0mfgimIA2cdS5iZI8eQgUJIBN/QXyD3J5n x5NRkv42wVMG6VDWaFkbU5H01wPjVzuJ1gsCpb4GXpOZ7WPYel8xpX7+8SSeb2Oys8fS J0soYKB9zPQgiGyOLH1qBFDyg2tJCQQz2ahEizM0Cf1WCybUMGSCUkeKalnK/SS0UNTC 9YpUMCZTO/bXDOZFCeXGyOupblVUNKrs/kgQrHmmwfqbgJJ8uQd/tfflfJqnGQ/AZKEU jYXw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=S1Q6qgNleHtJezQGU+D9OsxYetgN4cfxHrRaZgGahy4=; fh=7zDsz27mBsgtoAIkbjOnm5GqQoRyvNqJW2tpYGq12lU=; b=OgGRqSrKpoo1XE7OcSCGeaXbrtd71uijBwIQZbJuDz30JH0rhCi/g1OYRFG9jCLWEJ p2nhnkKsTbax9aPu8kvhv1Ec3XykyVZduSK44A/WOisNqNH+KpYrAmaJFitpsbSAaqAy 3jOAAZqHeGW49uvvcVikC407djm3lt5KHzIEQVZFTzFCvBFZ41hbiL3DKDxveQ+/uupZ qeFr7uuc6KUGWoh2A+t3Dx/V6cRlr1knRzBhSwBesTkUApSKZ8JHbSJTZQ6qSKUeIf5z N0+d0FVyUQJIX/CGq+rW9rzSD2+GWna3uXxkLJId1hxjdv3NUCcICSOOrCDXa/OduLje mekg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=e9hSbyzQ; arc=pass (i=1 spf=pass spfdomain=microchip.com dkim=pass dkdomain=microchip.com dmarc=pass fromdomain=microchip.com); spf=pass (google.com: domain of linux-kernel+bounces-156309-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-156309-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microchip.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id dc17-20020a170906c7d100b00a51c76b7b98si8221872ejb.1014.2024.04.23.22.34.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 22:34:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-156309-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=e9hSbyzQ; arc=pass (i=1 spf=pass spfdomain=microchip.com dkim=pass dkdomain=microchip.com dmarc=pass fromdomain=microchip.com); spf=pass (google.com: domain of linux-kernel+bounces-156309-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-156309-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microchip.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id ABA9C1F23726 for ; Wed, 24 Apr 2024 05:34:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AD9F7156673; Wed, 24 Apr 2024 05:34:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="e9hSbyzQ" Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0EA9155356 for ; Wed, 24 Apr 2024 05:34:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.153.233 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713936867; cv=none; b=Glwb6/YF92Y5XGNzJfOLM03zHyeCSubv8sp9xAv8xr1zrqTmX2ww5bdrl0kvfgo06xv8bWlnHgJ0BHYtFB7psBZx8cr2MZac1jSBY5H+KjtFVegjSOGVEmhMudQVrGJPsda2YM2qBy37jlgIUOTVLrZk1AHW04Jc+YISX9/d1VA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713936867; c=relaxed/simple; bh=mitb+D/nVSsGthWI422LmnlrCmG2yJ527JL4f7Ea30k=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=sMRLNBeHWr6MuFvJkoaxmykwZOGh4M9PwkPBZMbH5xURFXZY/ERbeZlKFMhrbhRmM3d8bgckFtnz2JdNGZNyeWY5pMlK94NLzwBqAPiLZCfUtL0SZ1bUtz3H5SQtafaR8g9HU4WY74gfQZiLOjfD39ZXo8fLz1//2y8Zm2jKHLY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com; spf=pass smtp.mailfrom=microchip.com; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b=e9hSbyzQ; arc=none smtp.client-ip=68.232.153.233 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=microchip.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1713936865; x=1745472865; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=mitb+D/nVSsGthWI422LmnlrCmG2yJ527JL4f7Ea30k=; b=e9hSbyzQAgFMtFnaZFmlbuk0GsH/gS0W7XIiZM6MUCguBgbKrZeaWJJ8 fHlAZZi6g6hkZULcBxe4qm1YIblCy4cYt6acEbczWsX1IQ2ybdeXXzjr7 +I+md389S8gYLIRqAm5gRXjqgQkxsoeOWwUUicnHYTh0S5oHQhttZ/X6M e7c9Zbzmk+rcvBc+fiuSPKZGxWwSCJdrL/YdQTh8l1onTN+fz/fzvJ6hA yad1vpjd1WXh+H4AqGShcedT2jA+M/wQaeZJhVzjvxmqTByJl6SCnVcn0 Zggxv76HR7DiFTdwZy4Aea4DHjv4NE5IqoMvNcCw734e8tP03ynDleri/ w==; X-CSE-ConnectionGUID: Er+woXTdRGuoFCdDEDLh7g== X-CSE-MsgGUID: YvvVZm/ST2Og96PTIZWFyQ== X-IronPort-AV: E=Sophos;i="6.07,225,1708412400"; d="scan'208";a="22410826" X-Amp-Result: SKIPPED(no attachment in message) Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa3.microchip.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 23 Apr 2024 22:34:18 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr 2024 22:34:18 -0700 Received: from che-lt-i67131.microchip.com (10.10.85.11) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.2507.35 via Frontend Transport; Tue, 23 Apr 2024 22:34:09 -0700 From: Manikandan Muralidharan To: , , , , , , , , , , , , , CC: , , , , , , , , "Manikandan Muralidharan" Subject: [PATCH RESEND v9 0/8] Add support for XLCDC to sam9x7 SoC family. Date: Wed, 24 Apr 2024 11:03:43 +0530 Message-ID: <20240424053351.589830-1-manikandan.m@microchip.com> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain This patch series aims to add support for XLCDC IP of sam9x7 SoC family to the DRM subsystem.XLCDC IP has additional registers and new configuration bits compared to the existing register set of HLCDC IP. The new compatible string "microchip,sam9x75-xlcdc" is defined for sam9x75 variant of the sam9x7 SoC family.The is_xlcdc flag under driver data and IP specific driver ops helps to differentiate the XLCDC and existing HLCDC code within the same driver. changes in v9: * Fix struct comments as per kernel-doc format * Rename LCDC ops * Move regmap_read_poll_timeout change to separate commit * cosmetic fixes changes in v8: * Re-arrange the patch set to prepare and update the current HLCDC code base with the new LCDC IP based driver ops and then add support for XLCDC code changes. * Fix Cosmetic issues. changes in v7: * LCDC IP driver ops functions are declared static and its declaration are removed. changes in v6: * Fixed Cosmetic defects. * Added comments for readability. changes in v5: * return value of regmap_read_poll_timeout is checked in failure case. * HLCDC and XLCDC specific driver functions are now invoked using its IP specific driver ops w/o the need of checking is_xlcdc flag. * Removed empty spaces and blank lines. changes in v4: * fixed kernel warnings reported by kernel test robot. changes in v3: * Removed de-referencing the value of is_xlcdc flag multiple times in a single function. * Removed cpu_relax() call when using regmap_read_poll_timeout. * Updated xfactor and yfactor equations using shift operators * Defined CSC co-efficients in an array for code readability. changes in v2: * Change the driver compatible name from "microchip,sam9x7-xlcdc" to "microchip,sam9x75-xlcdc". * Move is_xlcdc flag to driver data. * Remove unsed Macro definitions. * Add co-developed-bys tags * Replace regmap_read() with regmap_read_poll_timeout() call * Split code into two helpers for code readablitity. ------------ Durai Manickam KR (1): drm: atmel-hlcdc: Define XLCDC specific registers Manikandan Muralidharan (7): drm: atmel-hlcdc: add driver ops to differentiate HLCDC and XLCDC IP drm: atmel_hlcdc: replace regmap_read with regmap_read_poll_timeout drm: atmel_hlcdc: Add support for XLCDC using IP specific driver ops drm: atmel-hlcdc: add DPI mode support for XLCDC drm: atmel-hlcdc: add vertical and horizontal scaling support for XLCDC drm: atmel-hlcdc: add support for DSI output formats drm: atmel-hlcdc: add LCD controller layer definition for sam9x75 .../gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 172 ++++++-- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 105 +++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 132 +++++-- .../gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 369 +++++++++++++++--- include/linux/mfd/atmel-hlcdc.h | 10 + 5 files changed, 673 insertions(+), 115 deletions(-) -- 2.25.1