From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (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 C343C242D97 for ; Sun, 14 Jun 2026 08:36:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781426163; cv=none; b=rcL3gfUjzvU8C1i+8HTtsyTglwel7+MJHxBOga42qycyjFv5G6dwumZ7mxPD/czEY7PtQ7bjMZEttGHCDsHRXzRsCCie/wWAH3XaC8rNhCev877zrJOYxZ1m/Ms6KNyUM8rdHB8jF4iCPXK6ai0aWanOyVQfn2X2yg9+xWH+018= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781426163; c=relaxed/simple; bh=s4L4ukk0KyujJ0HblA0DbVk6Hm5VHHVGY6UKqtf8+Zg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fg30+oy0CYPeW2qxEotI5Tb7Tyj5W4sxUNE2Cj9p6jOvnWAhHc2JhDbkwgef/yW9Bn31i6a3yKMGCPGD9bFxPvru19e4R3roDkvZY84V3eccxnD/yNmKA4EfH4al0tGZ2Fe39P0Tuv/Xlz+1um0OI/KTj/7Fw4CbyZoHhryC5JY= 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=S3PtJMUi; arc=none smtp.client-ip=209.85.215.176 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="S3PtJMUi" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-c8589498839so905041a12.2 for ; Sun, 14 Jun 2026 01:36:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781426162; x=1782030962; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tAITfEL9UqrO9L8OmSD1zMxFdEqiUvJMm9blfi4uSXM=; b=S3PtJMUiS69D2k614mFzce4tH101RiTzfiLa6MNdtGYTKbLUH2MyZX4iRptmSwkRkq Ynjs+HSRlIo3jYfkUFSAOgVCzJNIJ2PhTTaQGnNCCcWerqAvaQiWB6FhTgrySRzBqYhO VuFuRecYUA2i94dScZopATd8ceW21jYU56EeOxmEFVwaFT0ML4cIZGzaMF6vclzr61w9 jf6PhVLQHayy5QxuNEnZzedbCnYzQQxwAtPTpttiBU2MzySW2sKbpENJG9lk8nO+JNZY eTkLw/hpX2kn9fLcjaSV2BmL0rbmehs24xF3kIbpUnrA29IZ7WctWCpRD/N2uh+UT7p6 KleA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781426162; x=1782030962; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=tAITfEL9UqrO9L8OmSD1zMxFdEqiUvJMm9blfi4uSXM=; b=Ll2cAzxb2KUie2QDfrnlX/g3CC3Kl7E220Eqdu4SKOqlJBmwfnCMSaxI5cXiLDLpAm pRmDzYGRmFGTPc2tHsCaY/+BCn/RR8ZSapviTvTuIlcAfmUygjc1eruW73LCMHL2p+wP VCLOY5hKkVeF/htuFKAxtXZbc8uWKoVAwskaJMRbvWx6O7BLrMTeAUTiwb8LvmWfi38u Dp4eWojKiUNlNgb6ZuN0WGNss49St7yNUce9reauiP1jF+m8flEB+xGFCKhscuunRuss TIS/WqvbEgfdKAy3aJLdqGDXDfTuKv0cgVev6BEJ03B6wb/XgC9Z2MzoqSUdp0R6xDwW iNSg== X-Forwarded-Encrypted: i=1; AFNElJ8sHMYl7KJHQ4lzZcFX1mXn+91HFFZM46BNMMZ3EMzkzSZTfTltgRx93rscqRp6nPE8DJasj1dnJftPuQ0=@vger.kernel.org X-Gm-Message-State: AOJu0YzgfKbBaJavWSUhY04SJnM0op62GFqFbNP5bL0RPfwbr/ORCoML KG/O0+tHv9Ck4xdWlWAQJzGb+BlNuVStRpuVOSlar6Xbgi0m6xJk2PinGi/iYf10Lhk= X-Gm-Gg: Acq92OEgUgonjTrxFUxv46KJG+6r36mtWBQjpaunKXrO3Y+dh+xeh1Ab189+dGJ/4oJ t3trZ4wS75hT/kye4eSC/2Sth3hsApDFgJXfnMsCQSbDA+9XIh+Q4lzxE6mlng43GZ86NqSOm/y 0vbNPMKauiZupDR9n1ZErU5d+GAtyVMaHbOz71p3agi68LBNR0XTFvcWfaIGtbUanmRNeF04uyo jcL/xePXD6qXDnBUyfM3ugtPCsrnuGLCh/21yBq+mrfqtO9C3jzsfPjyDoXAOUH39vQV95uif+F AQlaOh3RTdai10AzJF8KsKXMsfoMUoOuequJ90NTZOgwCCz2k8NLkfwpLNk+NkNeJ/N3FwyFfyu Nd0fKHQNylEd2jHrvNcx3G+hd7JldlV3Je2EydtE9PRLnRhDmnb9JcG2pptqCmHuoUsiDIRtgDK HywET8L1DsFYMhkLVVSWOBgg== X-Received: by 2002:a05:6a00:3390:b0:842:5634:3c1d with SMTP id d2e1a72fcca58-844e199926amr6606163b3a.19.1781426162161; Sun, 14 Jun 2026 01:36:02 -0700 (PDT) Received: from nuvole ([2408:844f:2361:d7cd:deb7:4e0e:26d0:4076]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8434afc8fc7sm7263053b3a.37.2026.06.14.01.35.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Jun 2026 01:36:01 -0700 (PDT) From: Pengyu Luo To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andy Gross , Bjorn Andersson Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Pengyu Luo Subject: [PATCH 2/2] spi: qcom-geni: Add property to force GSI mode Date: Sun, 14 Jun 2026 16:34:24 +0800 Message-ID: <20260614083424.464132-2-mitltlatltl@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260614083424.464132-1-mitltlatltl@gmail.com> References: <20260614083424.464132-1-mitltlatltl@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Some devices (such as gaokun3) do not disable FIFO mode, causing the driver to fallback to FIFO mode by default. However, these platforms also support GSI mode, which is highly preferred for certain peripherals like SPI touchscreens to improve performance. Introduce the "qcom,force-gsi-mode" device property to hint and force the controller into GSI mode during initialization. Signed-off-by: Pengyu Luo --- drivers/spi/spi-geni-qcom.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 26e723cfea61..eece7312f780 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -102,6 +102,7 @@ struct spi_geni_master { int irq; bool cs_flag; bool abort_failed; + bool force_gsi_mode; struct dma_chan *tx; struct dma_chan *rx; int cur_xfer_mode; @@ -655,6 +656,9 @@ static int spi_geni_init(struct spi_geni_master *mas) mas->oversampling = 1; fifo_disable = readl(se->base + GENI_IF_DISABLE_RO) & FIFO_IF_DISABLE; + if (mas->force_gsi_mode) + fifo_disable = 1; + switch (fifo_disable) { case 1: ret = spi_geni_grab_gpi_chan(mas); @@ -1133,6 +1137,9 @@ static int spi_geni_probe(struct platform_device *pdev) if (ret) return ret; + if (device_property_read_bool(&pdev->dev, "qcom,force-gsi-mode")) + mas->force_gsi_mode = true; + ret = spi_geni_init(mas); if (ret) return ret; -- 2.54.0