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 phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C06D6C433EF for ; Wed, 27 Apr 2022 05:50:55 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1D89783EAB; Wed, 27 Apr 2022 07:50:48 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="lASYNuQO"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A85A383A95; Wed, 27 Apr 2022 07:50:37 +0200 (CEST) Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 79C8483E1E for ; Wed, 27 Apr 2022 07:50:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=michael@amarulasolutions.com Received: by mail-wr1-x436.google.com with SMTP id q23so950845wra.1 for ; Tue, 26 Apr 2022 22:50:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gh8xkvcQvjO2iS+/hK/jL3c+UP6SeNydCelCN08F/ec=; b=lASYNuQOb0ueggCFYY0S0pL3Ere40VIWJlZnNheDdhohn8Elt9zZ69ULUSZpQEe2l4 cp2aq2kEtzAPuGkzcTGTD6DgODpyV85gZD3oUfi0VcrBWElWQTEWL5PVfekIFiWAV8US G7nfPh5ZIPy3ULlV9I8lb73r0z1duBBHlLUJQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gh8xkvcQvjO2iS+/hK/jL3c+UP6SeNydCelCN08F/ec=; b=sGniompR1W36QFR5j94pUWeelsjc/uBuVMlD9CvL0e5Q39hdliIYS/iv0ZrCmZGp1e /bHXMkUJG53y3CxkaaGkeF1048uj7+Qp+X6miCra0QkGq/xASUAftSFuyGkLkiY+3Jxt u6+vCDrn1tEfl8b/pqJWEbqxtv+mG+DeFGCCE2w4J5szZ6Wfm9P0fuAmnmNGqyfuAdnR 97SeJOTrh2o7pUQ+Vbly4NOKMf0ugD+6dSuCwmxDTA1on6cF1LJVFzLq9tbX9lfAgdeL 4ada7+9vlKUBTxeOsqfWInUevSma9N5OZ58OJsxnmRZM6K5pQ5vc5LnPSqgIY8mF3T1k yekQ== X-Gm-Message-State: AOAM530t+qjmH9PD4yDKw0Ce/8QcJLu4AE/uPJJ+ClS8Ac6IyDhmN2wd B8tWUdlHCBQK2MTBgXRATaRqGg== X-Google-Smtp-Source: ABdhPJzelifMK5wzQpPrEIOrBDzQ2WyBNnhRaCtsB7aPVuKHUouWDWp+zzUe+i+PAko4i5pA8Oj7YQ== X-Received: by 2002:a05:6000:1e12:b0:209:6a0e:9f9f with SMTP id bj18-20020a0560001e1200b002096a0e9f9fmr20687277wrb.169.1651038632932; Tue, 26 Apr 2022 22:50:32 -0700 (PDT) Received: from panicking.amarulasolutions.com ([5.171.215.247]) by smtp.gmail.com with ESMTPSA id f11-20020a7bcc0b000000b0037e0c362b6dsm769827wmh.31.2022.04.26.22.50.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Apr 2022 22:50:32 -0700 (PDT) From: Michael Trimarchi To: Han Xu , U-Boot-Denx Cc: Ye Li , Stefano Babic , Miquel Raynal , Fabio Estevam , Dario Binacchi , Sean Anderson , linux-kernel@amarulasolutions.com, Jagan Teki , Ariel D'Alessandro , Fabio Estevam Subject: [PATCH V2 1/4] nand: raw: mxs_nand: Fix specific hook registration Date: Wed, 27 Apr 2022 07:50:22 +0200 Message-Id: <20220427055025.231586-2-michael@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220427055025.231586-1-michael@amarulasolutions.com> References: <20220427055025.231586-1-michael@amarulasolutions.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean Move the hook after nand_scan_tail is called. The hook must be replaced to the mxs specific one but those must to be assignment later in the probe function. With this fix markbad is working again. Before this change: nand markbad 0xDEC00 NXS NAND: Writing OOB isn't supported NXS NAND: Writing OOB isn't supported block 0x000dec00 NOT marked as bad! ERROR 0 Cc: Han Xu Cc: Fabio Estevam Signed-off-by: Michael Trimarchi --- V1->V2: - Adjust the commit message - Add Cc Han Xu and Fabio --- drivers/mtd/nand/raw/mxs_nand.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/mtd/nand/raw/mxs_nand.c b/drivers/mtd/nand/raw/mxs_nand.c index ee5d7fde9c..53f24b9c4b 100644 --- a/drivers/mtd/nand/raw/mxs_nand.c +++ b/drivers/mtd/nand/raw/mxs_nand.c @@ -1246,22 +1246,6 @@ int mxs_nand_setup_ecc(struct mtd_info *mtd) /* Enable BCH complete interrupt */ writel(BCH_CTRL_COMPLETE_IRQ_EN, &bch_regs->hw_bch_ctrl_set); - /* Hook some operations at the MTD level. */ - if (mtd->_read_oob != mxs_nand_hook_read_oob) { - nand_info->hooked_read_oob = mtd->_read_oob; - mtd->_read_oob = mxs_nand_hook_read_oob; - } - - if (mtd->_write_oob != mxs_nand_hook_write_oob) { - nand_info->hooked_write_oob = mtd->_write_oob; - mtd->_write_oob = mxs_nand_hook_write_oob; - } - - if (mtd->_block_markbad != mxs_nand_hook_block_markbad) { - nand_info->hooked_block_markbad = mtd->_block_markbad; - mtd->_block_markbad = mxs_nand_hook_block_markbad; - } - return 0; } @@ -1467,6 +1451,22 @@ int mxs_nand_init_ctrl(struct mxs_nand_info *nand_info) if (err) goto err_free_buffers; + /* Hook some operations at the MTD level. */ + if (mtd->_read_oob != mxs_nand_hook_read_oob) { + nand_info->hooked_read_oob = mtd->_read_oob; + mtd->_read_oob = mxs_nand_hook_read_oob; + } + + if (mtd->_write_oob != mxs_nand_hook_write_oob) { + nand_info->hooked_write_oob = mtd->_write_oob; + mtd->_write_oob = mxs_nand_hook_write_oob; + } + + if (mtd->_block_markbad != mxs_nand_hook_block_markbad) { + nand_info->hooked_block_markbad = mtd->_block_markbad; + mtd->_block_markbad = mxs_nand_hook_block_markbad; + } + err = nand_register(0, mtd); if (err) goto err_free_buffers; -- 2.25.1