From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C9315D2444F for ; Fri, 11 Oct 2024 00:33:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=tekWhDCN5toSUCUqsw16CTcau0DYG46Y6c1PLwZiPkk=; b=0gQ2xY6sIZyTH+kV6X0UAMvYov mhmwge2FWxg2IfiPtTUF7mf8FzT+5Jfb/WOvaDnuwB+2eflxmbsmxXGxjKVM6IpqFYUtQf/7ev4XH 4mhcC+SfroL+mZPvJ0qHy79Q4cOr8F57UKKLjLLCNFXgR898ReaDp93R7JlrMDco1gHzwVEoFG0ax W8n21sjLoPb+UZIhX23Si5mu/8mB7CZqhawmTOnWnZwKJDB8HUS6oc9AxUjKRVoqN2Zof5jFTmqMa 3+rhjRYpZgY7QWUhNTSgIS5AKVfvySaAFDiO2R1s8gIRuKhaSDM3DoRT7O/41rZ3xdoXpKjghAh3T QHy232RQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1sz3ai-0000000EoGU-1AyY; Fri, 11 Oct 2024 00:33:12 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1sz3ZL-0000000Eo2o-2TS1; Fri, 11 Oct 2024 00:31:48 +0000 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-20b49ee353cso13021425ad.2; Thu, 10 Oct 2024 17:31:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728606706; x=1729211506; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=tekWhDCN5toSUCUqsw16CTcau0DYG46Y6c1PLwZiPkk=; b=TlFyXRFcILtU9s6bn4Dr2cCb/GwJ0lmdjQ7YHCm60bqJN3AyipY+DcB9YxDaGXbGkM wysu79Lj58GMHpG5/RiDPKTF3pKP+MizEtgzPFKJa08ZY8o0P8KxxzeseAzc7hk5ZGlM 9GYztAHarr8UEk14IEk0BDjR89jMb3ta5+RFzQHbAJ0YEZHiHwpiIMCTk62P/SkZlMyy UJlXHstTdbFlRwqVTRnL5s+7R36/EMG5UsxR3fDIczZk4OdRjOF1kAoJUJVXRA06kL85 moolCBEuFTepMzlGPJyQA5Qaby4B60dsZob7dUIJzu0io+AxxYrjIStlYoaiYVfHzlMC qS0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728606706; x=1729211506; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=tekWhDCN5toSUCUqsw16CTcau0DYG46Y6c1PLwZiPkk=; b=Df2mSUwcdQbSBgIjNjCPvaP7MX+sN60cBqkIhFrZhBOuQZ1neaQAyNnTJM3t7A5Bs6 PfdD5m955S+IcXI+qODhGCF8/6IWzc9OtNvkcJ6q9BKqrVy6pldOJLuCXA7H+7H8oiy8 eWLwdHv38Ev0rE7KniAX8NF8QfAZ4+SUzFqXZpXgQKcLvIrqlRHUz+L1oCM4zFQQi+Fc XIeqXBBg+bqN71Yjpt+8bhjowD8dnhyu45owve5XRYl5fAcp5Z9HvA407ljr/Vg30Y6L 7gIHNHjqjkcLL3KByIujAnWllDLcuc0kWNnfy/6Mhj50UCcKfdlE+isR/SZ6RsBi4WlG 9Y3A== X-Forwarded-Encrypted: i=1; AJvYcCVEAkyQdZ3mg4E+Y5BjHedYmW/neihUHT/qKnMdXYYc7En4T7U6tzOo5oIPJ37b19pSkWnefMLn/TZ0eDXNDgsA@lists.infradead.org, AJvYcCWVUSMYPTwD3bYb0z9iQt3QlWq7LliOaYb21TSwTFnCSrPsboufBmkdqHy5hD8UH9Vieb3we8fHauGE@lists.infradead.org X-Gm-Message-State: AOJu0YzYo3nTXGEGlSvmSO3ZdU248/X+BFgxwcqRWcTFfjW8O8Igzm06 W9fBBN76o3KDQXeWaYoquQ7KpcvXQHOFQShH1CjtKvYCt3F0jcC0 X-Google-Smtp-Source: AGHT+IHUvRrkj3FkAVO0d+YRG+WVM1cjdUJiXP6ZpBkhyprfTNny88vxjsdCgMjhLkqdqnaNMYAmtg== X-Received: by 2002:a17:902:d491:b0:20b:8aa1:d53e with SMTP id d9443c01a7336-20ca16bdc6bmr9881955ad.44.1728606706355; Thu, 10 Oct 2024 17:31:46 -0700 (PDT) Received: from [172.19.1.53] (60-250-196-139.hinet-ip.hinet.net. [60.250.196.139]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20c8bad33b5sm14865485ad.37.2024.10.10.17.31.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 10 Oct 2024 17:31:45 -0700 (PDT) Message-ID: <037102f1-3e8d-4b76-a9d2-a23fde7a502a@gmail.com> Date: Fri, 11 Oct 2024 08:31:41 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6 2/2] mtd: rawnand: nuvoton: add new driver for the Nuvoton MA35 SoC To: Miquel Raynal Cc: richard@nod.at, vigneshr@ti.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, nikita.shubin@maquefel.me, arnd@arndb.de, vkoul@kernel.org, esben@geanix.com, linux-arm-kernel@lists.infradead.org, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20240927020749.46791-1-hpchen0nvt@gmail.com> <20240927020749.46791-3-hpchen0nvt@gmail.com> <20241001215755.5c2f8465@xps-13> <8d5e7755-17fd-4860-bcb0-8c1de04bf0c5@gmail.com> <20241008105230.7fd25438@xps-13> <02098767-19ce-407e-88be-24c6259c4053@gmail.com> <20241009100450.362e3556@xps-13> Content-Language: en-US From: Hui-Ping Chen In-Reply-To: <20241009100450.362e3556@xps-13> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241010_173147_651061_D0C6F683 X-CRM114-Status: GOOD ( 14.75 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Dear Miquel, Thank you for your reply. On 2024/10/9 下午 04:04, Miquel Raynal wrote: > Hi Hui-Ping, > >>>>>> + return 0; >>>>>> + } >>>>>> + >>>>>> + ma35_nand_dmac_init(nand); >>>>>> + >>>>>> + writel(mtd->oobsize, nand->regs + MA35_NFI_REG_NANDRACTL); >>>>>> + >>>>>> + /* setup and start DMA using dma_addr */ >>>>>> + dma_addr = dma_map_single(nand->dev, (void *)addr, len, DMA_FROM_DEVICE); >>>>>> + ret = dma_mapping_error(nand->dev, dma_addr); >>>>>> + if (ret) { >>>>>> + dev_err(nand->dev, "dma mapping error\n"); >>>>>> + return -EINVAL; >>>>>> + } >>>>>> + >>>>>> + writel((unsigned long)dma_addr, nand->regs + MA35_NFI_REG_DMASA); >>>>> Please enforce a dma mask of 32 (even though it might be the fault). >>>> I will change it to dma_addr & 0xffffffff. >>> That's not what I mean, I believe you should use the dma API to ask for >>> a mapping within the accessible 32-bit address range. The >>> dma_mapping_error() check should return an error if that's not the >>> case. Then you can safely write the value. >> Here is my misunderstanding: just fill in the dma_addr directly, >> >> no type conversion is needed. I have already tested it. > FYI, it only works because the default DMA mask for your device is gonna > be 32 bits. If the reality (what your peripheral DMA can do) was > different than this, you would have to set a different mask explicitly > to make sure the dma-mapping step would not provide buffers which are > out of reach. Sure, I will keep that in mind. However, due to the memory architecture of the MA35, which is designed for a maximum of 4GB, there won’t be any situation exceeding 32 bits. Thank you. > Thanks, > Miquèl Best regards, Hui-Ping Chen