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 X-Spam-Level: X-Spam-Status: No, score=-11.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17C89C43461 for ; Wed, 9 Sep 2020 09:17:07 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AEB1420708 for ; Wed, 9 Sep 2020 09:17:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="cvQ1V8+f" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AEB1420708 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=OQ00Bl6dloq4A4BT29LVnj+SxgK2RqTpF71QrJRT8YM=; b=cvQ1V8+fxo8JGRKBbMwXzLKA4 kxnIBsDbKkoNLxS6VKRn/iDy8YIKvgPNZ1do8FodIY2AVfY9P0jBX4wIsg4zJZth4Q3nF6cYhhC4q MNnEOUww4vmnmSPdny4R7gSNwThsvT68ovoo+5qRzgI716SMZob11U0T9gkZWlzRciIc+dFxR3U9e RXMKuvwgkYiWrPpvfq2PwjST0byCrNVsi9wgAA+z7W3/KgfoXETUHSkWzq72F8U6Qv8Z3gfu8BJs9 exNDvTR8ibNbx0CB21eCQXoz+dOUcYBO+ntlE20n+O2/GSGKXDgj2Nzpj665LuzXrZDRtrScUZ9C3 vZMU8xRTw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFwDt-0003zJ-Ms; Wed, 09 Sep 2020 09:17:01 +0000 Received: from mga14.intel.com ([192.55.52.115]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFwDn-0003vt-1X; Wed, 09 Sep 2020 09:16:56 +0000 IronPort-SDR: 27xtQ/WCw9o/q5poDQ9n6d9uBgDjPQ5+LaSP63hlEQscm3WVm74Jq1qnk+seqvPlKXjhicR2C9 uzIs1wRLx/kA== X-IronPort-AV: E=McAfee;i="6000,8403,9738"; a="157573574" X-IronPort-AV: E=Sophos;i="5.76,409,1592895600"; d="scan'208";a="157573574" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Sep 2020 02:16:53 -0700 IronPort-SDR: Eu5LFEF7mQvPvjaKgHiNi+EAI6twzANJVXLRWHJjqt2BIA4DKeAAOOzWigLRgh7pJRkcZk2JZB paZ/kvhmY5KQ== X-IronPort-AV: E=Sophos;i="5.76,409,1592895600"; d="scan'208";a="480390735" Received: from vdc-station-04.ger.corp.intel.com (HELO [10.251.165.91]) ([10.251.165.91]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Sep 2020 02:16:41 -0700 Subject: Re: [Intel-gfx] [PATCH 0/8] Convert the intel iommu driver to the dma-iommu api To: Tom Murphy References: <20191221150402.13868-1-murphyt7@tcd.ie> <465815ae-9292-f37a-59b9-03949cb68460@deltatee.com> <20200529124523.GA11817@infradead.org> <33137cfb-603c-86e8-1091-f36117ecfaf3@deltatee.com> <766525c3-4da9-6db7-cd90-fb4b82cd8083@deltatee.com> <60a82319-cbee-4cd1-0d5e-3c407cc51330@linux.intel.com> From: Tvrtko Ursulin Organization: Intel Corporation UK Plc Message-ID: <7106602a-9964-851e-9c4e-d8acf4033b89@linux.intel.com> Date: Wed, 9 Sep 2020 10:16:38 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200909_051655_236229_467E3759 X-CRM114-Status: GOOD ( 29.70 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kvm@vger.kernel.org, David Airlie , dri-devel@lists.freedesktop.org, Bjorn Andersson , Matthias Brugger , Julien Grall , Will Deacon , Marek Szyprowski , Jean-Philippe Brucker , linux-samsung-soc@vger.kernel.org, Marc Zyngier , Krzysztof Kozlowski , Jonathan Hunter , Christoph Hellwig , linux-rockchip@lists.infradead.org, Andy Gross , Gerald Schaefer , linux-s390@vger.kernel.org, linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org, Robin Murphy , linux-mediatek@lists.infradead.org, linux-tegra@vger.kernel.org, Thomas Gleixner , virtualization@lists.linux-foundation.org, linux-arm-kernel@lists.infradead.org, David Woodhouse , Cornelia Huck , Linux Kernel Mailing List , iommu@lists.linux-foundation.org, Kukjin Kim , Logan Gunthorpe Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org On 08/09/2020 23:43, Tom Murphy wrote: > On Tue, 8 Sep 2020 at 16:56, Tvrtko Ursulin > wrote: >> >> >> On 08/09/2020 16:44, Logan Gunthorpe wrote: >>> On 2020-09-08 9:28 a.m., Tvrtko Ursulin wrote: >>>>> >>>>> diff --git a/drivers/gpu/drm/i915/i915_scatterlist.h >>>>> b/drivers/gpu/drm/i915/i915 >>>>> index b7b59328cb76..9367ac801f0c 100644 >>>>> --- a/drivers/gpu/drm/i915/i915_scatterlist.h >>>>> +++ b/drivers/gpu/drm/i915/i915_scatterlist.h >>>>> @@ -27,13 +27,19 @@ static __always_inline struct sgt_iter { >>>>> } __sgt_iter(struct scatterlist *sgl, bool dma) { >>>>> struct sgt_iter s = { .sgp = sgl }; >>>>> >>>>> + if (sgl && !sg_dma_len(s.sgp)) >>>> >>>> I'd extend the condition to be, just to be safe: >>>> if (dma && sgl && !sg_dma_len(s.sgp)) >>>> >>> >>> Right, good catch, that's definitely necessary. >>> >>>>> + s.sgp = NULL; >>>>> + >>>>> if (s.sgp) { >>>>> s.max = s.curr = s.sgp->offset; >>>>> - s.max += s.sgp->length; >>>>> - if (dma) >>>>> + >>>>> + if (dma) { >>>>> + s.max += sg_dma_len(s.sgp); >>>>> s.dma = sg_dma_address(s.sgp); >>>>> - else >>>>> + } else { >>>>> + s.max += s.sgp->length; >>>>> s.pfn = page_to_pfn(sg_page(s.sgp)); >>>>> + } >>>> >>>> Otherwise has this been tested or alternatively how to test it? (How to >>>> repro the issue.) >>> >>> It has not been tested. To test it, you need Tom's patch set without the >>> last "DO NOT MERGE" patch: >>> >>> https://lkml.kernel.org/lkml/20200907070035.GA25114@infradead.org/T/ >> >> Tom, do you have a branch somewhere I could pull from? (Just being lazy >> about downloading a bunch of messages from the archives.) > > I don't unfortunately. I'm working locally with poor internet. > >> >> What GPU is in your Lenovo x1 carbon 5th generation and what >> graphical/desktop setup I need to repro? > > > Is this enough info?: > > $ lspci -vnn | grep VGA -A 12 > 00:02.0 VGA compatible controller [0300]: Intel Corporation HD > Graphics 620 [8086:5916] (rev 02) (prog-if 00 [VGA controller]) > Subsystem: Lenovo ThinkPad X1 Carbon 5th Gen [17aa:224f] > Flags: bus master, fast devsel, latency 0, IRQ 148 > Memory at eb000000 (64-bit, non-prefetchable) [size=16M] > Memory at 60000000 (64-bit, prefetchable) [size=256M] > I/O ports at e000 [size=64] > [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] > Capabilities: [40] Vendor Specific Information: Len=0c > Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00 > Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit- > Capabilities: [d0] Power Management version 2 > Capabilities: [100] Process Address Space ID (PASID) > Capabilities: [200] Address Translation Service (ATS) Works for a start. What about the steps to repro? Any desktop environment and it is just visual corruption, no hangs/stalls or such? I've submitted a series consisting of what I understood are the patches needed to repro the issue to our automated CI here: https://patchwork.freedesktop.org/series/81489/ So will see if it will catch something, or more targeted testing will be required. Hopefully it does trip over in which case I can add the patch suggested by Logan on top and see if that fixes it. Or I'll need to write a new test case. If you could glance over my series to check I identified the patches correctly it would be appreciated. Regards, Tvrtko _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip