Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1318697ybg; Tue, 2 Jun 2020 07:01:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYlv4/3ArxtTy21LZ6dgR7jDpxqR1hQqppNhsqilGXQmVbb+xe1O4lgNIoXhk/ZpLmSBr2 X-Received: by 2002:a05:6402:362:: with SMTP id s2mr10156183edw.337.1591106483090; Tue, 02 Jun 2020 07:01:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591106483; cv=none; d=google.com; s=arc-20160816; b=AlLIkwogeYxDH9tgm0cHvdMpc8Ot82XCv6B75HBCGRuKJU0KchWvkNA2T7jdbaKeI7 JBd0JoKXizuh3DdlYEdYfFP0y/ONqFR+dsiNY3A4jdF4wKcHacXnZ6DPUeUwjzu+2Sy9 xK1i6mgYDvSt0IHTytHDgMEbR6jDjxv69zNczwNyYv7jGTUBhRbKxAvwutWTqFeUDkEQ Ze0++1APr+S6i8tMxFcF38XwqHNF8gKViULC7X6vvbLVva+XmIwU8DIiBBT4kSH12QY5 /ezSzL79kmXsRyyeSutvjv9PtOeJFJ5JzpE263M87RJZYcJeY14q0vcIXhWSXy7KJEf3 ni3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=9owB6N5YoTr+QgRWYSW+w97CM/a02Li4ocdyLucMnlA=; b=FVP+qBOsXvl/hMw/ZtX6pEj6UbfcwbfCqQ7+4Ly8yokgnOQQRmjmmtuVjBaiIjmxyf 4M9S/uBNbIfa76I4HCqWzxJAEJeEy8v/WUdCLD6FJIqgNOQmJ6ygQDLtwuwGpTMS5oyB FvYcPXVNujr24bf4+hlEoR+y0aByo7BhO65h7Dq/uGLxHpo38AO4vBnhJ/fCp2nJ8kv4 0gpXl/e3R9rtf1zy0FfRqKNlA9iExVjRqexfbbHFe1bdCnM84gd2gcZFrW/e6u4xqYEG uF0ZXt0/TZWqPnsZtLyzGnuAGDAUAKwhPEFH1UtHOC9Ghj33ipGiTM2jmdGHeGeXLrLK cEjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ze+ivp4c; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f6si1552858edy.252.2020.06.02.07.00.59; Tue, 02 Jun 2020 07:01:23 -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=pass header.i=@gmail.com header.s=20161025 header.b=Ze+ivp4c; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726814AbgFBN7M (ORCPT + 99 others); Tue, 2 Jun 2020 09:59:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725919AbgFBN7L (ORCPT ); Tue, 2 Jun 2020 09:59:11 -0400 Received: from mail-vs1-xe43.google.com (mail-vs1-xe43.google.com [IPv6:2607:f8b0:4864:20::e43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C6C89C08C5C0 for ; Tue, 2 Jun 2020 06:59:10 -0700 (PDT) Received: by mail-vs1-xe43.google.com with SMTP id q2so2088278vsr.1 for ; Tue, 02 Jun 2020 06:59:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9owB6N5YoTr+QgRWYSW+w97CM/a02Li4ocdyLucMnlA=; b=Ze+ivp4cAFxyqk7NhiH/FgnYGbbWWGkjKQQY3TxEitCzQdk7p0Wu76o0FkjuBwXiVH 2Dg5GkZntUYHmh7C7r68i/lLSdsF0OcuA1BfQ15WDPiUYtJHbjCzEhJEJ9F1fW4CSoBa khCoH7AF8Speu+33IkgkUZJNsl734DdLOmVBBUhwR0J5x8OL60XWZn6dVPDktK0uYZyY STfI+k0NDFh4ebSmg1x4NiORk3wVn8f8pbTx/cFFLCIJdycWBKOR9MKgZnroaxd6/GLI VygAjCvqQjJqWXgTeulGShbJMm30zj4FP81VlH6EQDYtPjzDPJbE9QL+kDGi985PaEAa KZEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9owB6N5YoTr+QgRWYSW+w97CM/a02Li4ocdyLucMnlA=; b=rxH8a7+DazUqWM+3KLJfsj4Oy7Ffb0nUI5PJY2uvNP3mMRS4717uKEhIHAK6vz3plg aPH0tjTs6tk9adIfO44OvWaF4WOLB67kQPckmhpiOGTNAzrlMjksSBghjRs/4pNlr5UT i1qG9NOx7vAKEOAZRKnzQOUibRlFAiReSLOm1i+iumj64ugNY6qmsLulNl1PDJ//UB2T U0lQMLj/CQyqKb3rNBhi8iJ65vIhFZSOLG+IgXabEDJj1X3iuyRuqNo4bbzHb618BwOY TY0mIjmxRmaWTygP93dEHgsXqDpUvCFGX5ESZpX+2iQpsxLd5t1wqXCkkaWLfWF5inKu 68Aw== X-Gm-Message-State: AOAM530GH3auo0Tm0yDxEO517GPxSYpnN8HnYgipqrzgr/zJJuwIxtX4 q1IbfyLF/RmpkCRQ9D4BrKV1xWmnydOMIFPOoac= X-Received: by 2002:a67:b149:: with SMTP id z9mr17006698vsl.85.1591106349968; Tue, 02 Jun 2020 06:59:09 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Emil Velikov Date: Tue, 2 Jun 2020 14:55:52 +0100 Message-ID: Subject: Re: [PATCH 1/7] drm/rockchip: prepare common code for cdns and rk dpi/dp driver To: sandor.yu@nxp.com Cc: Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , =?UTF-8?Q?Heiko_St=C3=BCbner?= , Sandy Huang , dkos@cadence.com, ML dri-devel , linux-rockchip , "Linux-Kernel@Vger. Kernel. Org" , LAKML , NXP Linux Team Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org HI Sandor Yu On Mon, 1 Jun 2020 at 07:29, wrote: > > From: Sandor Yu > > - Extracted common fields from cdn_dp_device to a new cdns_mhdp_device > structure which will be used by two separate drivers later on. > - Moved some datatypes (audio_format, audio_info, vic_pxl_encoding_format, > video_info) from cdn-dp-core.c to cdn-dp-reg.h. > - Changed prefixes from cdn_dp to cdns_mhdp > cdn -> cdns to match the other Cadence's drivers > dp -> mhdp to distinguish it from a "just a DP" as the IP underneath > this registers map can be a HDMI (which is internally different, > but the interface for commands, events is pretty much the same). > - Modified cdn-dp-core.c to use the new driver structure and new function > names. > - writel and readl are replaced by cdns_mhdp_bus_write and > cdns_mhdp_bus_read. > The high-level idea is great - split, refactor and reuse the existing drivers. Although looking at the patches themselves - they seems to be doing multiple things at once. As indicated by the extensive list in the commit log. I would suggest splitting those up a bit, roughly in line of the itemisation as per the commit message. Here is one hand wavy way to chunk this patch: 1) use put_unalligned* 2) 'use local variable dev' style of changes (as seem in cdn_dp_clk_enable) 3) add writel/readl wrappers 4) hookup struct cdns_mhdp_device, keep dp->mhdp detail internal. The cdn-dp-reg.h function names/signatures will stay the same. 5) finalize the helpers - use mhdp directly, rename HTH Emil Examples: 4) static int cdn_dp_mailbox_read(struct cdn_dp_device *dp) { +" struct cdns_mhdp_device *mhdp = dp->mhdp; int val, ret; - ret = readx_poll_timeout(readl, dp->regs + MAILBOX_EMPTY_ADDR, + ret = readx_poll_timeout(readl, mhdp->regs_base + MAILBOX_EMPTY_ADDR, ... return fancy_readl(dp, MAILBOX0_RD_DATA) & 0xff; } 5) -static int cdn_dp_mailbox_read(struct cdn_dp_device *dp) +static int mhdp_mailbox_read(struct cdns_mhdp_device *mhdp) { - struct cdns_mhdp_device *mhdp = dp->mhdp; int val, ret; ... - return fancy_readl(dp, MAILBOX0_RD_DATA) & 0xff; + return cdns_mhdp_bus_read(mhdp, MAILBOX0_RD_DATA) & 0xff; }