Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp929646imu; Fri, 4 Jan 2019 09:40:59 -0800 (PST) X-Google-Smtp-Source: ALg8bN5xCppVP2MGaYEaz6Q1G7UwLmcq3hyE7LjlFYErN0txtSOjxpVZxKi0z3bIF46sq8P+zsul X-Received: by 2002:a63:bc02:: with SMTP id q2mr21563684pge.116.1546623659155; Fri, 04 Jan 2019 09:40:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546623659; cv=none; d=google.com; s=arc-20160816; b=xXoX7CziUzIxvFC0KXYlqttr/RKrryCJmrst+Gf0UXpNbmavEWrgq2NZI2iCApiQ6x XCF3ntDFJ5IDEAXEEg+yM5Q9wRMCrG9YdxL3hlpEPVUtzR5j85NGw22WXTafiBHh7Dlw Dhzeox/0Acu0QbwyMeCSBtr/hr7H2KhCUIZSpP/x72hpqVTg8iVN63IxxjVjv9foqJ9o vQeBz9XgNchvoXBxP2o64EUEi8hyXx9CHAMeUGRnX/Flm+Gj4BAKK6OZNezp7VsIKTcS 1iDS2zrUVEJzZwnEWRsTtsre/FEa1JdesGipD/HpnKRzai8bACrpMzFDvRXMHvZ6vMn3 tv6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=sifzyiHIXNuUql6Pz7t8KMpvK3wHjbYyZ8XdICIezEU=; b=REIVLdprlW8Mr5dLLCGmiXWMZqzNxBkRyzNx370fAkcET5QJMkKIVoomR8rmCPkawQ FnIXNRCAfMyLATETG0sBCYMDcdOx9O/DkEsEXIlRI6aYDrD/bDBRrqJUCteLUKa4xrBH plPCz9vPW+yzKtwtztS+RLqtcwT8LdaU4sbp6cUOOzGFL/Aa9kl2i3MQZ1aTfj5GKfjQ wV/vq36VqEr7Fgw+b6qQJAwqIv5zpk0jicOoTYQ4eMJ6jiQmCKFkV9dVE43s1So+TQau T5Z+77I5yWWEtv40grNRy8kXjjemuhAgWXAwXJ57PkhbqT7R1vj1N/rOfTmgnUEhnZjm uZGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="V6/pRZTd"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k38si2940478pgi.235.2019.01.04.09.40.41; Fri, 04 Jan 2019 09:40:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="V6/pRZTd"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727567AbfADPjz (ORCPT + 99 others); Fri, 4 Jan 2019 10:39:55 -0500 Received: from mail.kernel.org ([198.145.29.99]:58656 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727085AbfADPjy (ORCPT ); Fri, 4 Jan 2019 10:39:54 -0500 Received: from localhost (unknown [171.76.109.220]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BA8D720874; Fri, 4 Jan 2019 15:39:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1546616393; bh=F4sKUK4O07tb0szES5xEALFkkCdT1ICUyACGH9scCuM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=V6/pRZTdqXUA79btEPz7fl8tY6di/tQYeVASebVpaycbBurZTItIqUxFZCaYGDzAL b+DHdA97jMiC55YA9lXkP7c9CBV/hqX+DuZQRZLwR79dyVBHRguBklYYr8uxV7YaX+ foEKLMfGNYGWA/UYbnXfPcUTYr9AL9K+nM4BcsqU= Date: Fri, 4 Jan 2019 21:08:15 +0530 From: Vinod Koul To: Mesih Kilinc Cc: dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, linux-sunxi@googlegroups.com, Rob Herring , Mark Rutland , Maxime Ripard , Chen-Yu Tsai , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Subject: Re: [RFC PATCH 01/10] dma-engine: sun4i: Add a quirk to support different chips Message-ID: <20190104153815.GN13372@vkoul-mobl.Dlink> References: <864e28404a31ba24094f74fd060d11c16562e965.1543782328.git.mesihkilinc@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <864e28404a31ba24094f74fd060d11c16562e965.1543782328.git.mesihkilinc@gmail.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03-12-18, 00:23, Mesih Kilinc wrote: > Allwinner suniv F1C100s has similar DMA engine to sun4i. Several > registers has different addresses. Total dma channels, endpoint counts > and max burst counts are also different. So if register layout is the only diff, have you thought about using regmap_field so that you dont care about the layout > +struct sun4i_dma_config { > + u32 ndma_nr_max_channels; > + u32 ndma_nr_max_vchans; > + > + u32 ddma_nr_max_channels; > + u32 ddma_nr_max_vchans; > + > + u32 dma_nr_max_channels; > + > + void (*set_dst_data_width)(u32 *p_cfg, s8 data_width); > + void (*set_src_data_width)(u32 *p_cfg, s8 data_width); aligned please, checkpatch should warn about this stuff > struct sun4i_dma_dev { > - DECLARE_BITMAP(pchans_used, SUN4I_DMA_NR_MAX_CHANNELS); > + unsigned long *pchans_used; why not bitmap? > +static struct sun4i_dma_config sun4i_a10_dma_cfg = { > + .ndma_nr_max_channels = SUN4I_NDMA_NR_MAX_CHANNELS, > + .ndma_nr_max_vchans = SUN4I_NDMA_NR_MAX_VCHANS, > + > + .ddma_nr_max_channels = SUN4I_DDMA_NR_MAX_CHANNELS, > + .ddma_nr_max_vchans = SUN4I_DDMA_NR_MAX_VCHANS, > + > + .dma_nr_max_channels = SUN4I_NDMA_NR_MAX_CHANNELS + > + SUN4I_DDMA_NR_MAX_CHANNELS, > + > + .set_dst_data_width = set_dst_data_width_a10, > + .set_src_data_width = set_src_data_width_a10, > + .convert_burst = convert_burst_a10, > + > + .ndma_drq_sdram = SUN4I_NDMA_DRQ_TYPE_SDRAM, > + .ddma_drq_sdram = SUN4I_DDMA_DRQ_TYPE_SDRAM, > + > + .max_burst = SUN4I_MAX_BURST, > +}; > + > static const struct of_device_id sun4i_dma_match[] = { > - { .compatible = "allwinner,sun4i-a10-dma" }, > + { .compatible = "allwinner,sun4i-a10-dma", .data = &sun4i_a10_dma_cfg }, I would prefer this to be split into two patches, first one does the refactoring of driver (better if we split things logically) and then addition of new one.. -- ~Vinod