Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp1262905lqp; Mon, 15 Apr 2024 00:15:16 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCU3w49QDU1OOR6Q6zr+z8gL6h1iNC79ehhFyhmgDGfJ+NC5oARBSbfHnI6o9N2OcjYoVRuJjANq9rQpmVqnvON8AsBfn8ukhkQE4FYM4Q== X-Google-Smtp-Source: AGHT+IFI3k4PBGBlnKH4nCMFwE0UR1yp2+C/DlLnrtq3jkD7QywOqrPE7WNY3otSETL8Ovflfs0/ X-Received: by 2002:a17:902:f80e:b0:1e3:e0a5:4cab with SMTP id ix14-20020a170902f80e00b001e3e0a54cabmr7039005plb.63.1713165315779; Mon, 15 Apr 2024 00:15:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713165315; cv=pass; d=google.com; s=arc-20160816; b=aXijaUZ/p2j6evpcjMl7AdMNncALyjRJuMkXJMI204LHUpi0zAu9bYixD1JixUUJ1f lty9xA24o/jTcRX1FMao3D8ZEa7YMzeInwDNKmAP069ER8ykOG3og7DYmaZMnx9WWT3Y Atz2vYaDy9P68sfRO0Ia5/LqsTFavH2QS8o6DQ7MoLK/YAp0Zf2TReK18mkx4dsyyz++ 0XnBMts7KPYVMjCy5B91/j1JnDYJNcG8hU7HXc9hg8MAVom+P8bGNMyLVvAh+mlR0NJZ uc+WDs5RG7OEGp8LB5RN/SB3J2a7PTOwrStzH56U3lqeGcBCPxJVbbjyxRzizKzqEZSf gcZQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=2kB+FGGZ1O8+acAP7LbuhoplMsezAErVFwb8wVQ9L3g=; fh=GwqoMXUqyLiJFT5ihixXIqyA3Sy1MPW36yRJs/sKlyY=; b=irGn6AZTYgEecOuwDbi1GN5/enBMxFh/VgwuM+DbgwMPdLP1swiBVXPUBSKxRUhIL9 GwVaugN0vdv+bPxhYbWD50IwDTa0KGKfu8kai2aHXjxCgMPGF+QvlwWkZAONiPtmT6nr 6Qif3E9yuk2evwpWEJcIWZLMQRZre/zcrwxRvzpi/9CM1aTmFuDWrNu0VoRhtZfpKlq4 M9KGyN6BdV95+va2rfNFqR+f6AzizWHR89hrVvnbGs0O9aU+RGHX8zUYuvZZSEmPewMT UhkzqvdoI6YMgb4bY7WIZtkAc/Nn+IoL3oMGOwDVyI0Ah9BIWw8+6KBndx5xrNgBTRSn OM9w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=HHmzOfbV; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-144635-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144635-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id x5-20020a170902a38500b001e587993faasi6004092pla.626.2024.04.15.00.15.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 00:15:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-144635-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=HHmzOfbV; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-144635-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144635-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id B26FBB235BC for ; Mon, 15 Apr 2024 07:06:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BE78E208CE; Mon, 15 Apr 2024 07:06:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HHmzOfbV" Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C19521171C; Mon, 15 Apr 2024 07:06:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713164810; cv=none; b=AWzqQth+qSRjUV9k0UkraUuYxKKZE1E55OY0ZU8B4z8beyh/ROqonA9GEDHL/Qkl5aPL8E1ctiTzziNRqU+Cocu0tiAY9a1JWuomWYqTCPz/xuyNAd/Kb07pVE/hC5syqhImzIzZZMmuZC5TyO583EpYHwiHBt2kqMgrEl7UOng= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713164810; c=relaxed/simple; bh=YKuJfRTjciZPhyxgyG6DA7n6YZ2TLld0CbjLQtdO4Ds=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=GtIljTr9oL5fP0bzGMObBzjNnOoC3qvIkpfrw0Wmhh1ujMzn6NL7C6vD+M/WipBPBQATzSrB0Q+H6zifesSDvFxRRZq8cpNYUWa7ATCVuggf6TiQ9Jd0ztvQveAkQxyBUQP2Yn/dSREKpwdnfJUQF2UwceCXjCUVN5XgWL7DFis= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HHmzOfbV; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1e40042c13eso19350405ad.2; Mon, 15 Apr 2024 00:06:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713164808; x=1713769608; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=2kB+FGGZ1O8+acAP7LbuhoplMsezAErVFwb8wVQ9L3g=; b=HHmzOfbVyW6a3+1fBS9ODQwhBFWX/KiiKEfrsW0uk3aJqojMw+4vDwH8ryo0XjOT4f Sonak0UC31pKaA0d/NYGfm4Hqc9YNBOEWEjomB83npLVIBmGjXoqvbZH2Aitjf3ZCqLU TO3vs7YCrMpDwsteU4dnYM9h7Zp/8UOfU/O39dO5HMooHC3NklpMFnV+vEcuu93pW3wO pqpdQ17wIkonSdsQ3NfTu1yOWZRNN0oPRgzInro4hxb4sMz3Rrh4qKXN7dXauQzVSzmR ddjJxtSDq2GHggHyixcsJRPNpp19+7CdlnzoSc5kM59ikL5yxFZfvvt5iC1WTH6M87Ro wJXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713164808; x=1713769608; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2kB+FGGZ1O8+acAP7LbuhoplMsezAErVFwb8wVQ9L3g=; b=cd4HWo09ZQ9jNL64cVcLg3AmNcyD2skBpkRcbUJQlzJU2cQ90w2sxQhyNd2d+alMMA m5e3iQ76XZTBj6fT453Uv2PFWTtgiJT0pXl8uoPAPxGJL8Kc1u3S3Mz1h3l+xe9y/4R5 4c89VGa096Q99eyHTt0UE4X1b7TxN+OFRlvpLtexAaZrpmtgpPYsB1/LD2CLIBPktwwp /ErwYx/f7yiYP5pUqSvCX0/AQBtUqSW6UB9SkECFydqqNg6oRffTeKGrtwDr3VLiLfy+ GsDOrPdljK15ysbLREcrheqScYSsx+h8NJzHGowokaTx+Jw1krbOtTa47obVnunIp0Vg c+DQ== X-Forwarded-Encrypted: i=1; AJvYcCXOn7qPzijFFJblfR5vmL5p1tZzkYIgqqW5Id/ebR/jTq60fBxdqXKnc0uXbVuLu9zunioKWTiP/KExOCc2kJhTojNkwBRwEtfh9u7Q X-Gm-Message-State: AOJu0YywlUmsJxEwFxLkBeBGPy4UikKgk6wo71WAV8XIEdpzmIsz55uH 3Ja0moBh1+4F9+4cWamBrY9pQ2JV7LL1A/uVoRpYQ2mETFXjIV9GFkmLhQ== X-Received: by 2002:a17:902:6909:b0:1e4:9c2f:d4f7 with SMTP id j9-20020a170902690900b001e49c2fd4f7mr7161372plk.28.1713164808070; Mon, 15 Apr 2024 00:06:48 -0700 (PDT) Received: from den-build.fareast.nevint.com ([116.228.68.226]) by smtp.gmail.com with ESMTPSA id d5-20020a170902c18500b001e503c555afsm7200909pld.97.2024.04.15.00.06.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 00:06:47 -0700 (PDT) From: Richard Clark To: adrian.hunter@intel.com, ulf.hansson@linaro.org Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, richard.xnu.clark@gmail.com Subject: [PATCH] sdhci: Fix SD card detection issue Date: Mon, 15 Apr 2024 15:06:20 +0800 Message-Id: <20240415070620.133143-1-richard.xnu.clark@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The mmc_gpio_get_cd(...) will return 0 called from sdhci_get_cd(...), which means the card is not present. Actually, the card detection pin is active low by default according to the SDHCI psec, thus the card detection result is not correct, more specificly below if condition is true in mmc_rescan(...): ... if (mmc_card_is_removable(host) && host->ops->get_cd && host->ops->get_cd(host) == 0) { ... goto out; } The SD card device will have no chance to be created. This commit fixes this detection issue via the MMC_CAP2_CD_ACTIVE_HIGH cap2 flag, parsed from the 'cd-inverted' property of DT. Signed-off-by: Richard Clark --- drivers/mmc/host/sdhci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index c79f73459915..79f33a161ca8 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2483,6 +2483,9 @@ static int sdhci_get_cd(struct mmc_host *mmc) * Try slot gpio detect, if defined it take precedence * over build in controller functionality */ + if (!(mmc->caps2 & MMC_CAP2_CD_ACTIVE_HIGH)) + gpio_cd = !gpio_cd; + if (gpio_cd >= 0) return !!gpio_cd; -- 2.34.1