Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp3184078pxb; Mon, 9 Nov 2020 05:05:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJxTroNqvSkfDf2NJiIGEX2omyFPH6+SQZNcv77dNYMZTsk8Grk0nLXBWD11Vus6Lu/ckbp3 X-Received: by 2002:a05:6402:17ad:: with SMTP id j13mr14693621edy.347.1604927117126; Mon, 09 Nov 2020 05:05:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604927117; cv=none; d=google.com; s=arc-20160816; b=evkTuxTXfRuxdb6ktfFCjRQaIBjD/E6JiKN8oe/JE/DQOLIJTDvtquMwl0Dd0RiwvR vijn2sVSiZV5UkGueOmcCo/Qf6mVGDj8CHhr93xl+P/ml6cIsholvSR6L+KBlN5O9NX8 9D7k0hvBG6hUd7Eeicmw1wrzdG52LDhM9uc6mBzODSE+Eikaxdd9gXdcHLjr5gQssYx/ nKDX4Mxb0Vf2dl7aQQOtc8irQlS98r5sVmcun8HioRCgY93726whmBGQJRsfIh1T6dXU Moq82KLEDkqw9U5uriuaa724+eB41zwVJtoOlD8InPvCh8bwxPgPWMOa9WAzF8dNsNS5 GG1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=beE1xpNtLos/SMbFrEr6SjasFZ/QmTrKsjW/sGvhQsc=; b=l3OWajt+imtMvMUOEUq8R3MUNY3ZGCkhCEVl09DUKIV2SXgQnH3BkTNxlVmcvMjQJ/ ngsoCXHnmY8H1mTJW5rAr/6/6Ii7TwANTdCLE4IgqbgVr7bXsMl8bf9XxdQMOIFrVHZg EqGaLtJFZKvZoyKbeNSQKxtMP3v/1Yld/eTgYMx+4NJESru/Lu4SiSEw2CC4IeniIMFb 6KopyHfxjHl+/8fM4ORF7C8t/hwnYxQfLzry5CxflSzRcez3BPRfJL09kSvva8yCVGOk hawvmSZ5sbDZ3YlkN0e3F1iU0Ax5vDCPnObyPSj1qwoOl8B2X3ZP7cZ5Cok6czOu33qw hrhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RJtcEw9J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g10si6747941ejh.419.2020.11.09.05.04.47; Mon, 09 Nov 2020 05:05:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RJtcEw9J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730017AbgKINBS (ORCPT + 99 others); Mon, 9 Nov 2020 08:01:18 -0500 Received: from mail.kernel.org ([198.145.29.99]:54618 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730503AbgKINAa (ORCPT ); Mon, 9 Nov 2020 08:00:30 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 79288207BC; Mon, 9 Nov 2020 13:00:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604926829; bh=HeiXkDo1qNKRPsCL1z6v8tavI/15Fj5RsL4khe7PqzU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RJtcEw9JR3HscGp2giUlMoAduWZ6I+p1dKS9LSRwrItVGw2IkbxjFZ+vTSJjCdKWM bzCgKJrAu6+VeE3Iau/pNKPnKiiYMqZu10B6zvyW+QI/lg4VHM7lMDApX4hFYPJVpQ FW+RXnrnu/tR5l+fkFtp0Z7dslss7YS0pagPp9Lg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Geert Uytterhoeven , Lad Prabhakar , Yoshihiro Shimoda , Christoph Hellwig , Sergei Shtylyov , Ulf Hansson , Jens Axboe Subject: [PATCH 4.9 011/117] ata: sata_rcar: Fix DMA boundary mask Date: Mon, 9 Nov 2020 13:53:57 +0100 Message-Id: <20201109125026.187398661@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201109125025.630721781@linuxfoundation.org> References: <20201109125025.630721781@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Geert Uytterhoeven commit df9c590986fdb6db9d5636d6cd93bc919c01b451 upstream. Before commit 9495b7e92f716ab2 ("driver core: platform: Initialize dma_parms for platform devices"), the R-Car SATA device didn't have DMA parameters. Hence the DMA boundary mask supplied by its driver was silently ignored, as __scsi_init_queue() doesn't check the return value of dma_set_seg_boundary(), and the default value of 0xffffffff was used. Now the device has gained DMA parameters, the driver-supplied value is used, and the following warning is printed on Salvator-XS: DMA-API: sata_rcar ee300000.sata: mapping sg segment across boundary [start=0x00000000ffffe000] [end=0x00000000ffffefff] [boundary=0x000000001ffffffe] WARNING: CPU: 5 PID: 38 at kernel/dma/debug.c:1233 debug_dma_map_sg+0x298/0x300 (the range of start/end values depend on whether IOMMU support is enabled or not) The issue here is that SATA_RCAR_DMA_BOUNDARY doesn't have bit 0 set, so any typical end value, which is odd, will trigger the check. Fix this by increasing the DMA boundary value by 1. This also fixes the following WRITE DMA EXT timeout issue: # dd if=/dev/urandom of=/mnt/de1/file1-1024M bs=1M count=1024 ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen ata1.00: failed command: WRITE DMA EXT ata1.00: cmd 35/00:00:00:e6:0c/00:0a:00:00:00/e0 tag 0 dma 1310720 out res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) ata1.00: status: { DRDY } as seen by Shimoda-san since commit 429120f3df2dba2b ("block: fix splitting segments on boundary masks"). Fixes: 8bfbeed58665dbbf ("sata_rcar: correct 'sata_rcar_sht'") Fixes: 9495b7e92f716ab2 ("driver core: platform: Initialize dma_parms for platform devices") Fixes: 429120f3df2dba2b ("block: fix splitting segments on boundary masks") Signed-off-by: Geert Uytterhoeven Tested-by: Lad Prabhakar Tested-by: Yoshihiro Shimoda Reviewed-by: Christoph Hellwig Reviewed-by: Greg Kroah-Hartman Reviewed-by: Sergei Shtylyov Reviewed-by: Ulf Hansson Cc: stable Signed-off-by: Jens Axboe Signed-off-by: Greg Kroah-Hartman --- drivers/ata/sata_rcar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/ata/sata_rcar.c +++ b/drivers/ata/sata_rcar.c @@ -122,7 +122,7 @@ /* Descriptor table word 0 bit (when DTA32M = 1) */ #define SATA_RCAR_DTEND BIT(0) -#define SATA_RCAR_DMA_BOUNDARY 0x1FFFFFFEUL +#define SATA_RCAR_DMA_BOUNDARY 0x1FFFFFFFUL /* Gen2 Physical Layer Control Registers */ #define RCAR_GEN2_PHY_CTL1_REG 0x1704