From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from arroyo.ext.ti.com ([192.94.94.40]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ao1zt-0002xw-UI for linux-mtd@lists.infradead.org; Thu, 07 Apr 2016 04:56:50 +0000 Subject: Re: [PATCH V10 2/2] mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller. To: Marek Vasut , "linux-mtd@lists.infradead.org" References: <1452486886-8049-1-git-send-email-marex@denx.de> <1452486886-8049-2-git-send-email-marex@denx.de> <57053F81.70204@ti.com> <570563D3.9080704@denx.de> CC: Graham Moore , Alan Tull , Brian Norris , David Woodhouse , Dinh Nguyen , Yves Vandervennet , "devicetree@vger.kernel.org" From: Vignesh R Message-ID: <5705E858.3050700@ti.com> Date: Thu, 7 Apr 2016 10:25:52 +0530 MIME-Version: 1.0 In-Reply-To: <570563D3.9080704@denx.de> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 04/07/2016 01:00 AM, Marek Vasut wrote: > On 04/06/2016 06:55 PM, R, Vignesh wrote: >> Hi Marek, > > Hi! > >> I encountered a issue with this driver while testing. > > Try with the attached patches, I am planning to use them for V11 > submission. I think you're hitting the problem with missing buslock. > Thanks for the patches. But I am pretty sure that's not the problem at my end, because I have only one flash device on QSPI bus. The problem is cqspi_switch_cs() is called only once ie when JEDEC ID is being read(during autodetect of chip), but at that instance, nor->page_size and nor->mtd.erasesize are not yet initialized (They are initialized only after JEDEC ID is looked up in the table and page_size and erasesize are known). Therefore if nor->page_size is printed during cqspi_switch_cs() then its zero. But nor->page_size reports 256 when printed in cqspi_flash_setup() after spi_nor_scan(). Therefore CQSPI_REG_SIZE register has to be configured only after spi_nor struct is fully populated (i.e after spi_nor_scan() has recognized the slave after JEDEC ID read). -- Regards Vignesh