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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham 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 B5BE5CA90AF for ; Wed, 13 May 2020 12:01:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 927AB206CC for ; Wed, 13 May 2020 12:01:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732283AbgEMMBr (ORCPT ); Wed, 13 May 2020 08:01:47 -0400 Received: from mga03.intel.com ([134.134.136.65]:27531 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728165AbgEMMBr (ORCPT ); Wed, 13 May 2020 08:01:47 -0400 IronPort-SDR: dXaXZDcHkZGz9JvVy9qV/Aut8r9Nj+tQQzJ++xHQM/DODry7xparkxPLa5Nm0RKBCI6xxL3J/9 mikJcdBw3jMA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 05:01:38 -0700 IronPort-SDR: SyXMo6HzRErgjS7rZ6n20RSqoIxXtM4P355JyqBbBnl2WxpDV8mhuNwxOaPESGjZivOTW0tBGN OvBMF+lTzKSg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,387,1583222400"; d="scan'208";a="287005321" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 13 May 2020 05:01:38 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 13 May 2020 05:01:38 -0700 Received: from fmsmsx108.amr.corp.intel.com ([169.254.9.60]) by FMSMSX119.amr.corp.intel.com ([169.254.14.63]) with mapi id 14.03.0439.000; Wed, 13 May 2020 05:01:38 -0700 From: "Ruhl, Michael J" To: Marek Szyprowski , "dri-devel@lists.freedesktop.org" , "iommu@lists.linux-foundation.org" , "linaro-mm-sig@lists.linaro.org" , "linux-kernel@vger.kernel.org" CC: Pawel Osciak , Bartlomiej Zolnierkiewicz , David Airlie , "linux-media@vger.kernel.org" , Hans Verkuil , Mauro Carvalho Chehab , Robin Murphy , Christoph Hellwig , "linux-arm-kernel@lists.infradead.org" Subject: RE: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Topic: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Index: AQHWKDwP0fqa3BxGckm0EsGy+4sAaqikud8QgACkUACAAIvJEA== Date: Wed, 13 May 2020 12:01:37 +0000 Message-ID: <14063C7AD467DE4B82DEDB5C278E8663010E211B19@FMSMSX108.amr.corp.intel.com> References: <20200512085710.14688-1-m.szyprowski@samsung.com> <20200512090058.14910-1-m.szyprowski@samsung.com> <20200512090058.14910-38-m.szyprowski@samsung.com> <14063C7AD467DE4B82DEDB5C278E8663010E210FAC@FMSMSX108.amr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.1.200.107] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogTWFyZWsgU3p5cHJvd3NraSA8bS5z enlwcm93c2tpQHNhbXN1bmcuY29tPg0KPlNlbnQ6IFR1ZXNkYXksIE1heSAxMiwgMjAyMCA0OjM0 IFBNDQo+VG86IFJ1aGwsIE1pY2hhZWwgSiA8bWljaGFlbC5qLnJ1aGxAaW50ZWwuY29tPjsgZHJp LQ0KPmRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgaW9tbXVAbGlzdHMubGludXgtZm91bmRh dGlvbi5vcmc7IGxpbmFyby1tbS0NCj5zaWdAbGlzdHMubGluYXJvLm9yZzsgbGludXgta2VybmVs QHZnZXIua2VybmVsLm9yZw0KPkNjOiBQYXdlbCBPc2NpYWsgPHBhd2VsQG9zY2lhay5jb20+OyBC YXJ0bG9taWVqIFpvbG5pZXJraWV3aWN6DQo+PGIuem9sbmllcmtpZUBzYW1zdW5nLmNvbT47IERh dmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT47IGxpbnV4LQ0KPm1lZGlhQHZnZXIua2VybmVs Lm9yZzsgSGFucyBWZXJrdWlsIDxodmVya3VpbC1jaXNjb0B4czRhbGwubmw+OyBNYXVybw0KPkNh cnZhbGhvIENoZWhhYiA8bWNoZWhhYkBrZXJuZWwub3JnPjsgUm9iaW4gTXVycGh5DQo+PHJvYmlu Lm11cnBoeUBhcm0uY29tPjsgQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+OyBsaW51eC1h cm0tDQo+a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcNCj5TdWJqZWN0OiBSZTogW1BBVENIIHY0 IDM4LzM4XSB2aWRlb2J1ZjI6IHVzZSBzZ3RhYmxlLWJhc2VkIHNjYXR0ZXJsaXN0DQo+d3JhcHBl cnMNCj4NCj5IaSBNaWNoYWVsLA0KPg0KPk9uIDEyLjA1LjIwMjAgMTk6NTIsIFJ1aGwsIE1pY2hh ZWwgSiB3cm90ZToNCj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IGRy aS1kZXZlbCA8ZHJpLWRldmVsLWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBPbiBCZWhh bGYgT2YNCj4+PiBNYXJlayBTenlwcm93c2tpDQo+Pj4gU2VudDogVHVlc2RheSwgTWF5IDEyLCAy MDIwIDU6MDEgQU0NCj4+PiBUbzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgaW9t bXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmc7DQo+Pj4gbGluYXJvLW1tLXNpZ0BsaXN0cy5s aW5hcm8ub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnDQo+Pj4gQ2M6IFBhd2VsIE9z Y2lhayA8cGF3ZWxAb3NjaWFrLmNvbT47IEJhcnRsb21pZWogWm9sbmllcmtpZXdpY3oNCj4+PiA8 Yi56b2xuaWVya2llQHNhbXN1bmcuY29tPjsgRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4Lmll PjsgbGludXgtDQo+Pj4gbWVkaWFAdmdlci5rZXJuZWwub3JnOyBIYW5zIFZlcmt1aWwgPGh2ZXJr dWlsLWNpc2NvQHhzNGFsbC5ubD47IE1hdXJvDQo+Pj4gQ2FydmFsaG8gQ2hlaGFiIDxtY2hlaGFi QGtlcm5lbC5vcmc+OyBSb2JpbiBNdXJwaHkNCj4+PiA8cm9iaW4ubXVycGh5QGFybS5jb20+OyBD aHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT47IGxpbnV4LWFybS0NCj4+PiBrZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZzsgTWFyZWsgU3p5cHJvd3NraQ0KPj4+IDxtLnN6eXByb3dza2lAc2Ft c3VuZy5jb20+DQo+Pj4gU3ViamVjdDogW1BBVENIIHY0IDM4LzM4XSB2aWRlb2J1ZjI6IHVzZSBz Z3RhYmxlLWJhc2VkIHNjYXR0ZXJsaXN0DQo+d3JhcHBlcnMNCj4+Pg0KPj4+IFVzZSByZWNlbnRs eSBpbnRyb2R1Y2VkIGNvbW1vbiB3cmFwcGVycyBvcGVyYXRpbmcgZGlyZWN0bHkgb24gdGhlIHN0 cnVjdA0KPj4+IHNnX3RhYmxlIG9iamVjdHMgYW5kIHNjYXR0ZXJsaXN0IHBhZ2UgaXRlcmF0b3Jz IHRvIG1ha2UgdGhlIGNvZGUgYSBiaXQNCj4+PiBtb3JlIGNvbXBhY3QsIHJvYnVzdCwgZWFzaWVy IHRvIGZvbGxvdyBhbmQgY29weS9wYXN0ZSBzYWZlLg0KPj4+DQo+Pj4gTm8gZnVuY3Rpb25hbCBj aGFuZ2UsIGJlY2F1c2UgdGhlIGNvZGUgYWxyZWFkeSBwcm9wZXJseSBkaWQgYWxsIHRoZQ0KPj4+ IHNjYXRlcmxpc3QgcmVsYXRlZCBjYWxscy4NCj4+Pg0KPj4+IFNpZ25lZC1vZmYtYnk6IE1hcmVr IFN6eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1zdW5nLmNvbT4NCj4+PiAtLS0NCj4+PiBGb3Ig bW9yZSBpbmZvcm1hdGlvbiwgc2VlICdbUEFUQ0ggdjQgMDAvMzhdIERSTTogZml4IHN0cnVjdCBz Z190YWJsZSBuZW50cw0KPj4+IHZzLiBvcmlnX25lbnRzIG1pc3VzZScgdGhyZWFkOg0KPj4+IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL2RyaS1kZXZlbC8yMDIwMDUxMjA4NTcxMC4xNDY4OC0xLQ0K Pj4+IG0uc3p5cHJvd3NraUBzYW1zdW5nLmNvbS9ULw0KPj4+IC0tLQ0KPj4+IC4uLi9tZWRpYS9j b21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtY29udGlnLmMgIHwgNDEgKysrKysrKysrKy0N Cj4tLS0NCj4+PiAtLS0tLS0tLQ0KPj4+IGRyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92 aWRlb2J1ZjItZG1hLXNnLmMgIHwgMzIgKysrKysrKy0tLS0tDQo+LS0tDQo+Pj4gLS0NCj4+PiBk cml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXZtYWxsb2MuYyB8IDEyICsr Ky0tLS0NCj4+PiAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9u cygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVm Mi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jDQo+Pj4gYi9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRl b2J1ZjIvdmlkZW9idWYyLWRtYS1jb250aWcuYw0KPj4+IGluZGV4IGQzYTNlZTUuLmJmMzFhOWQg MTAwNjQ0DQo+Pj4gLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVm Mi1kbWEtY29udGlnLmMNCj4+PiArKysgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIv dmlkZW9idWYyLWRtYS1jb250aWcuYw0KPj4+IEBAIC00OCwxNiArNDgsMTUgQEAgc3RydWN0IHZi Ml9kY19idWYgew0KPj4+DQo+Pj4gc3RhdGljIHVuc2lnbmVkIGxvbmcgdmIyX2RjX2dldF9jb250 aWd1b3VzX3NpemUoc3RydWN0IHNnX3RhYmxlICpzZ3QpDQo+Pj4gew0KPj4+IC0Jc3RydWN0IHNj YXR0ZXJsaXN0ICpzOw0KPj4+IAlkbWFfYWRkcl90IGV4cGVjdGVkID0gc2dfZG1hX2FkZHJlc3Mo c2d0LT5zZ2wpOw0KPj4+IC0JdW5zaWduZWQgaW50IGk7DQo+Pj4gKwlzdHJ1Y3Qgc2dfZG1hX3Bh Z2VfaXRlciBkbWFfaXRlcjsNCj4+PiAJdW5zaWduZWQgbG9uZyBzaXplID0gMDsNCj4+Pg0KPj4+ IC0JZm9yX2VhY2hfc2coc2d0LT5zZ2wsIHMsIHNndC0+bmVudHMsIGkpIHsNCj4+PiAtCQlpZiAo c2dfZG1hX2FkZHJlc3MocykgIT0gZXhwZWN0ZWQpDQo+Pj4gKwlmb3JfZWFjaF9zZ3RhYmxlX2Rt YV9wYWdlKHNndCwgJmRtYV9pdGVyLCAwKSB7DQo+Pj4gKwkJaWYgKHNnX3BhZ2VfaXRlcl9kbWFf YWRkcmVzcygmZG1hX2l0ZXIpICE9IGV4cGVjdGVkKQ0KPj4+IAkJCWJyZWFrOw0KPj4+IC0JCWV4 cGVjdGVkID0gc2dfZG1hX2FkZHJlc3MocykgKyBzZ19kbWFfbGVuKHMpOw0KPj4+IC0JCXNpemUg Kz0gc2dfZG1hX2xlbihzKTsNCj4+PiArCQlleHBlY3RlZCArPSBQQUdFX1NJWkU7DQo+Pj4gKwkJ c2l6ZSArPSBQQUdFX1NJWkU7DQo+PiBUaGlzIGNvZGUgaW4gZHJtX3ByaW1lX3RfY29udGlndW91 c19zaXplIGFuZCBoZXJlLiAgSSBzZWVtIHRvIHJlbWVtYmVyDQo+c2VlaW5nDQo+PiB0aGUgc2Ft ZSBwYXR0ZXJuIGluIG90aGVyIGRyaXZlcnMuDQo+Pg0KPj4gV291bGQgaXQgd29ydGh3aGlsZSB0 byBtYWtlIHRoaXMgYSBoZWxwZXIgYXMgd2VsbD8NCj5JIHRoaW5rIEkndmUgaWRlbnRpZmllZCBz dWNoIHBhdHRlcm5zIGluIGFsbCBEUk0gZHJpdmVycyBhbmQgcmVwbGFjZWQNCj53aXRoIGEgY29t bW9uIGhlbHBlci4gU28gZmFyIEkgaGF2ZSBubyBpZGVhIHdoZXJlIHRvIHB1dCBzdWNoIGhlbHBl ciB0bw0KPm1ha2UgaXQgYXZhaWxhYmxlIGZvciBtZWRpYS92aWRlb2J1ZjIsIHNvIHRob3NlIGEg ZmV3IGxpbmVzIGFyZSBpbmRlZWQNCj5kdXBsaWNhdGVkIGhlcmUuDQoNCkkgd2FzIHRoaW5raW5n IG9mIGRyaXZlcnMgb3V0c2lkZSBvZiBEUk0vbWVkaWEuICBTcGVjaWZpY2FsbHkgUkRNQS4NCg0K SG93ZXZlciwgbG9va2luZyBhdCB0aGF0IGNvZGUsIEkgc2VlIHRoYXQgbXkgbWVtb3J5IHdhcyBh IGxpdHRsZSBvZmYuDQpJdCBpcyB3b3JraW5nIHdpdGggY29udGludW91cyBwYWdlcywgIGJ1dCBu b3QgZmluZGluZyB0aGUgc2l6ZS4NCg0KPj4gQWxzbywgaXNuJ3QgdGhlIHNnX2RtYV9sZW4oKSB0 aGUgYWN0dWFsIGxlbmd0aCBvZiB0aGUgY2h1bmsgd2UgYXJlIGxvb2tpbmcNCj5hdD8NCj4+DQo+ PiBJZiBpdHMgSSBub3QgUEFHRV9TSVpFIChpZS4gZG1hIGNodW5rIGlzIDQgKiBQQUdFX1NJWkU/ KSwgZG9lcyB5b3VyDQo+bG9vcC9jYWxjdWxhdGlvbiBzdGlsbCB3b3JrPw0KPg0KPnNjYXRlcmxp c3QgcGFnZSBpdGVyYXRvcnMgKGZvcl9lYWNoX3NnX3BhZ2UvZm9yX2VhY2hfc2dfZG1hX3BhZ2Ug YW5kDQo+dGhlaXIgc2d0YWJsZSB2YXJpYW50cykgYWx3YXlzIG9wZXJhdGVzIG9uIFBBR0VfU0la RSB1bml0cy4gVGhleQ0KPmNvcnJlY3RseSBoYW5kbGUgbGFyZ2VyIHNnX2RtYV9sZW4oKS4NCg0K QWhoLCBvaywgSSBzZWUuIA0KDQpUaGFuayB5b3UhDQoNCk1pa2UNCg0KPg0KPkJlc3QgcmVnYXJk cw0KPi0tDQo+TWFyZWsgU3p5cHJvd3NraSwgUGhEDQo+U2Ftc3VuZyBSJkQgSW5zdGl0dXRlIFBv bGFuZA0KDQo= 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED 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 8532CCA90AF for ; Wed, 13 May 2020 12:01:43 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (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 59C9D20740 for ; Wed, 13 May 2020 12:01:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 59C9D20740 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 2442687F35; Wed, 13 May 2020 12:01:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rozKaikutPgS; Wed, 13 May 2020 12:01:42 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by whitealder.osuosl.org (Postfix) with ESMTP id 56F7B877D0; Wed, 13 May 2020 12:01:42 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 3C46FC0178; Wed, 13 May 2020 12:01:42 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 67C69C016F for ; Wed, 13 May 2020 12:01:40 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 56A4487EF6 for ; Wed, 13 May 2020 12:01:40 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CSvIF7A9H7Zt for ; Wed, 13 May 2020 12:01:39 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by whitealder.osuosl.org (Postfix) with ESMTPS id E16A9877D0 for ; Wed, 13 May 2020 12:01:38 +0000 (UTC) IronPort-SDR: obVrauJh+AGMSPyViI9Z+DzIPh3A7e+ozH0waMy90eMHB52p+6ZGQkbNw4WDee6hA6iT1rpC11 hcgAWMXL6Ghw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 05:01:38 -0700 IronPort-SDR: SyXMo6HzRErgjS7rZ6n20RSqoIxXtM4P355JyqBbBnl2WxpDV8mhuNwxOaPESGjZivOTW0tBGN OvBMF+lTzKSg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,387,1583222400"; d="scan'208";a="287005321" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 13 May 2020 05:01:38 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 13 May 2020 05:01:38 -0700 Received: from fmsmsx108.amr.corp.intel.com ([169.254.9.60]) by FMSMSX119.amr.corp.intel.com ([169.254.14.63]) with mapi id 14.03.0439.000; Wed, 13 May 2020 05:01:38 -0700 From: "Ruhl, Michael J" To: Marek Szyprowski , "dri-devel@lists.freedesktop.org" , "iommu@lists.linux-foundation.org" , "linaro-mm-sig@lists.linaro.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Topic: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Index: AQHWKDwP0fqa3BxGckm0EsGy+4sAaqikud8QgACkUACAAIvJEA== Date: Wed, 13 May 2020 12:01:37 +0000 Message-ID: <14063C7AD467DE4B82DEDB5C278E8663010E211B19@FMSMSX108.amr.corp.intel.com> References: <20200512085710.14688-1-m.szyprowski@samsung.com> <20200512090058.14910-1-m.szyprowski@samsung.com> <20200512090058.14910-38-m.szyprowski@samsung.com> <14063C7AD467DE4B82DEDB5C278E8663010E210FAC@FMSMSX108.amr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.1.200.107] MIME-Version: 1.0 Cc: Pawel Osciak , Bartlomiej Zolnierkiewicz , David Airlie , Hans Verkuil , Mauro Carvalho Chehab , Robin Murphy , Christoph Hellwig , "linux-arm-kernel@lists.infradead.org" , "linux-media@vger.kernel.org" X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" >-----Original Message----- >From: Marek Szyprowski >Sent: Tuesday, May 12, 2020 4:34 PM >To: Ruhl, Michael J ; dri- >devel@lists.freedesktop.org; iommu@lists.linux-foundation.org; linaro-mm- >sig@lists.linaro.org; linux-kernel@vger.kernel.org >Cc: Pawel Osciak ; Bartlomiej Zolnierkiewicz >; David Airlie ; linux- >media@vger.kernel.org; Hans Verkuil ; Mauro >Carvalho Chehab ; Robin Murphy >; Christoph Hellwig ; linux-arm- >kernel@lists.infradead.org >Subject: Re: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist >wrappers > >Hi Michael, > >On 12.05.2020 19:52, Ruhl, Michael J wrote: >>> -----Original Message----- >>> From: dri-devel On Behalf Of >>> Marek Szyprowski >>> Sent: Tuesday, May 12, 2020 5:01 AM >>> To: dri-devel@lists.freedesktop.org; iommu@lists.linux-foundation.org; >>> linaro-mm-sig@lists.linaro.org; linux-kernel@vger.kernel.org >>> Cc: Pawel Osciak ; Bartlomiej Zolnierkiewicz >>> ; David Airlie ; linux- >>> media@vger.kernel.org; Hans Verkuil ; Mauro >>> Carvalho Chehab ; Robin Murphy >>> ; Christoph Hellwig ; linux-arm- >>> kernel@lists.infradead.org; Marek Szyprowski >>> >>> Subject: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist >wrappers >>> >>> Use recently introduced common wrappers operating directly on the struct >>> sg_table objects and scatterlist page iterators to make the code a bit >>> more compact, robust, easier to follow and copy/paste safe. >>> >>> No functional change, because the code already properly did all the >>> scaterlist related calls. >>> >>> Signed-off-by: Marek Szyprowski >>> --- >>> For more information, see '[PATCH v4 00/38] DRM: fix struct sg_table nents >>> vs. orig_nents misuse' thread: >>> https://lore.kernel.org/dri-devel/20200512085710.14688-1- >>> m.szyprowski@samsung.com/T/ >>> --- >>> .../media/common/videobuf2/videobuf2-dma-contig.c | 41 ++++++++++- >--- >>> -------- >>> drivers/media/common/videobuf2/videobuf2-dma-sg.c | 32 +++++++----- >--- >>> -- >>> drivers/media/common/videobuf2/videobuf2-vmalloc.c | 12 +++---- >>> 3 files changed, 34 insertions(+), 51 deletions(-) >>> >>> diff --git a/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> b/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> index d3a3ee5..bf31a9d 100644 >>> --- a/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> +++ b/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> @@ -48,16 +48,15 @@ struct vb2_dc_buf { >>> >>> static unsigned long vb2_dc_get_contiguous_size(struct sg_table *sgt) >>> { >>> - struct scatterlist *s; >>> dma_addr_t expected = sg_dma_address(sgt->sgl); >>> - unsigned int i; >>> + struct sg_dma_page_iter dma_iter; >>> unsigned long size = 0; >>> >>> - for_each_sg(sgt->sgl, s, sgt->nents, i) { >>> - if (sg_dma_address(s) != expected) >>> + for_each_sgtable_dma_page(sgt, &dma_iter, 0) { >>> + if (sg_page_iter_dma_address(&dma_iter) != expected) >>> break; >>> - expected = sg_dma_address(s) + sg_dma_len(s); >>> - size += sg_dma_len(s); >>> + expected += PAGE_SIZE; >>> + size += PAGE_SIZE; >> This code in drm_prime_t_contiguous_size and here. I seem to remember >seeing >> the same pattern in other drivers. >> >> Would it worthwhile to make this a helper as well? >I think I've identified such patterns in all DRM drivers and replaced >with a common helper. So far I have no idea where to put such helper to >make it available for media/videobuf2, so those a few lines are indeed >duplicated here. I was thinking of drivers outside of DRM/media. Specifically RDMA. However, looking at that code, I see that my memory was a little off. It is working with continuous pages, but not finding the size. >> Also, isn't the sg_dma_len() the actual length of the chunk we are looking >at? >> >> If its I not PAGE_SIZE (ie. dma chunk is 4 * PAGE_SIZE?), does your >loop/calculation still work? > >scaterlist page iterators (for_each_sg_page/for_each_sg_dma_page and >their sgtable variants) always operates on PAGE_SIZE units. They >correctly handle larger sg_dma_len(). Ahh, ok, I see. Thank you! Mike > >Best regards >-- >Marek Szyprowski, PhD >Samsung R&D Institute Poland _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu 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=-6.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 5A383C2D0FC for ; Wed, 13 May 2020 12:01:44 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 29609206CC for ; Wed, 13 May 2020 12:01:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="p+vkys9r" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 29609206CC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=we/SbuHFXOO968ArQ2hnjvMUFZCIC2QM1qmGv2BJSgE=; b=p+vkys9r1hjwTr Gs8kg962AmlO7S7vyU7TmUplWTgpdCKzTKmNsdjvM70nuUnkT5SgJGN6kqn2cZ7aWC+dX6jfg3xRQ q/zxZCi9t3WCB5JcHT1QNQYTUN/Z9Uzv1SBdEtxt8ecNY8CltZLkwoyKqDiixl4If2voMJwFKIJ2E DesFxQCW9EBMIXAKbJI2Q5ONJ/mGFpqVuzxDnomkYcQy7bRQO88uNsulpedicYigDCpOp1S4grahe SnKj8zLuzz7iTWFjkdnUrfvSs898Z8uyAQbEp7P0EF2ZySlItt/Ia0xhC21/C+1EDcgkkuK0MWhqJ jyavjzvNVPHIw1A4RJTg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jYq51-0006xg-LF; Wed, 13 May 2020 12:01:43 +0000 Received: from mga01.intel.com ([192.55.52.88]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jYq4x-0006x8-TT for linux-arm-kernel@lists.infradead.org; Wed, 13 May 2020 12:01:41 +0000 IronPort-SDR: RvBejaWVwKq10mwj1OM24fJcocS01MK/BhwS2fegssP5uLzMmFQ6IcDOwVzWB1lxeag03qPZws B4XTLALn558Q== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 05:01:38 -0700 IronPort-SDR: SyXMo6HzRErgjS7rZ6n20RSqoIxXtM4P355JyqBbBnl2WxpDV8mhuNwxOaPESGjZivOTW0tBGN OvBMF+lTzKSg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,387,1583222400"; d="scan'208";a="287005321" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 13 May 2020 05:01:38 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 13 May 2020 05:01:38 -0700 Received: from fmsmsx108.amr.corp.intel.com ([169.254.9.60]) by FMSMSX119.amr.corp.intel.com ([169.254.14.63]) with mapi id 14.03.0439.000; Wed, 13 May 2020 05:01:38 -0700 From: "Ruhl, Michael J" To: Marek Szyprowski , "dri-devel@lists.freedesktop.org" , "iommu@lists.linux-foundation.org" , "linaro-mm-sig@lists.linaro.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Topic: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Index: AQHWKDwP0fqa3BxGckm0EsGy+4sAaqikud8QgACkUACAAIvJEA== Date: Wed, 13 May 2020 12:01:37 +0000 Message-ID: <14063C7AD467DE4B82DEDB5C278E8663010E211B19@FMSMSX108.amr.corp.intel.com> References: <20200512085710.14688-1-m.szyprowski@samsung.com> <20200512090058.14910-1-m.szyprowski@samsung.com> <20200512090058.14910-38-m.szyprowski@samsung.com> <14063C7AD467DE4B82DEDB5C278E8663010E210FAC@FMSMSX108.amr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.1.200.107] MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200513_050139_977777_A1056DDF X-CRM114-Status: GOOD ( 15.99 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Pawel Osciak , Bartlomiej Zolnierkiewicz , David Airlie , Hans Verkuil , Mauro Carvalho Chehab , Robin Murphy , Christoph Hellwig , "linux-arm-kernel@lists.infradead.org" , "linux-media@vger.kernel.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org >-----Original Message----- >From: Marek Szyprowski >Sent: Tuesday, May 12, 2020 4:34 PM >To: Ruhl, Michael J ; dri- >devel@lists.freedesktop.org; iommu@lists.linux-foundation.org; linaro-mm- >sig@lists.linaro.org; linux-kernel@vger.kernel.org >Cc: Pawel Osciak ; Bartlomiej Zolnierkiewicz >; David Airlie ; linux- >media@vger.kernel.org; Hans Verkuil ; Mauro >Carvalho Chehab ; Robin Murphy >; Christoph Hellwig ; linux-arm- >kernel@lists.infradead.org >Subject: Re: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist >wrappers > >Hi Michael, > >On 12.05.2020 19:52, Ruhl, Michael J wrote: >>> -----Original Message----- >>> From: dri-devel On Behalf Of >>> Marek Szyprowski >>> Sent: Tuesday, May 12, 2020 5:01 AM >>> To: dri-devel@lists.freedesktop.org; iommu@lists.linux-foundation.org; >>> linaro-mm-sig@lists.linaro.org; linux-kernel@vger.kernel.org >>> Cc: Pawel Osciak ; Bartlomiej Zolnierkiewicz >>> ; David Airlie ; linux- >>> media@vger.kernel.org; Hans Verkuil ; Mauro >>> Carvalho Chehab ; Robin Murphy >>> ; Christoph Hellwig ; linux-arm- >>> kernel@lists.infradead.org; Marek Szyprowski >>> >>> Subject: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist >wrappers >>> >>> Use recently introduced common wrappers operating directly on the struct >>> sg_table objects and scatterlist page iterators to make the code a bit >>> more compact, robust, easier to follow and copy/paste safe. >>> >>> No functional change, because the code already properly did all the >>> scaterlist related calls. >>> >>> Signed-off-by: Marek Szyprowski >>> --- >>> For more information, see '[PATCH v4 00/38] DRM: fix struct sg_table nents >>> vs. orig_nents misuse' thread: >>> https://lore.kernel.org/dri-devel/20200512085710.14688-1- >>> m.szyprowski@samsung.com/T/ >>> --- >>> .../media/common/videobuf2/videobuf2-dma-contig.c | 41 ++++++++++- >--- >>> -------- >>> drivers/media/common/videobuf2/videobuf2-dma-sg.c | 32 +++++++----- >--- >>> -- >>> drivers/media/common/videobuf2/videobuf2-vmalloc.c | 12 +++---- >>> 3 files changed, 34 insertions(+), 51 deletions(-) >>> >>> diff --git a/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> b/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> index d3a3ee5..bf31a9d 100644 >>> --- a/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> +++ b/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> @@ -48,16 +48,15 @@ struct vb2_dc_buf { >>> >>> static unsigned long vb2_dc_get_contiguous_size(struct sg_table *sgt) >>> { >>> - struct scatterlist *s; >>> dma_addr_t expected = sg_dma_address(sgt->sgl); >>> - unsigned int i; >>> + struct sg_dma_page_iter dma_iter; >>> unsigned long size = 0; >>> >>> - for_each_sg(sgt->sgl, s, sgt->nents, i) { >>> - if (sg_dma_address(s) != expected) >>> + for_each_sgtable_dma_page(sgt, &dma_iter, 0) { >>> + if (sg_page_iter_dma_address(&dma_iter) != expected) >>> break; >>> - expected = sg_dma_address(s) + sg_dma_len(s); >>> - size += sg_dma_len(s); >>> + expected += PAGE_SIZE; >>> + size += PAGE_SIZE; >> This code in drm_prime_t_contiguous_size and here. I seem to remember >seeing >> the same pattern in other drivers. >> >> Would it worthwhile to make this a helper as well? >I think I've identified such patterns in all DRM drivers and replaced >with a common helper. So far I have no idea where to put such helper to >make it available for media/videobuf2, so those a few lines are indeed >duplicated here. I was thinking of drivers outside of DRM/media. Specifically RDMA. However, looking at that code, I see that my memory was a little off. It is working with continuous pages, but not finding the size. >> Also, isn't the sg_dma_len() the actual length of the chunk we are looking >at? >> >> If its I not PAGE_SIZE (ie. dma chunk is 4 * PAGE_SIZE?), does your >loop/calculation still work? > >scaterlist page iterators (for_each_sg_page/for_each_sg_dma_page and >their sgtable variants) always operates on PAGE_SIZE units. They >correctly handle larger sg_dma_len(). Ahh, ok, I see. Thank you! Mike > >Best regards >-- >Marek Szyprowski, PhD >Samsung R&D Institute Poland _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham 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 BBD1DCA90AF for ; Wed, 13 May 2020 12:01:40 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 927FC206CC for ; Wed, 13 May 2020 12:01:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 927FC206CC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CF9686EA06; Wed, 13 May 2020 12:01:39 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id E504C6EA06 for ; Wed, 13 May 2020 12:01:38 +0000 (UTC) IronPort-SDR: brctgZTSJ3k6ojou1/5yWMujHik6jj1UFNe/6cBGmnR0nThobCWQLDlrhfUcRsRSL2AWtz59/W +INwf2Dph0jg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 05:01:38 -0700 IronPort-SDR: SyXMo6HzRErgjS7rZ6n20RSqoIxXtM4P355JyqBbBnl2WxpDV8mhuNwxOaPESGjZivOTW0tBGN OvBMF+lTzKSg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,387,1583222400"; d="scan'208";a="287005321" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga004.fm.intel.com with ESMTP; 13 May 2020 05:01:38 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 13 May 2020 05:01:38 -0700 Received: from fmsmsx108.amr.corp.intel.com ([169.254.9.60]) by FMSMSX119.amr.corp.intel.com ([169.254.14.63]) with mapi id 14.03.0439.000; Wed, 13 May 2020 05:01:38 -0700 From: "Ruhl, Michael J" To: Marek Szyprowski , "dri-devel@lists.freedesktop.org" , "iommu@lists.linux-foundation.org" , "linaro-mm-sig@lists.linaro.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Topic: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist wrappers Thread-Index: AQHWKDwP0fqa3BxGckm0EsGy+4sAaqikud8QgACkUACAAIvJEA== Date: Wed, 13 May 2020 12:01:37 +0000 Message-ID: <14063C7AD467DE4B82DEDB5C278E8663010E211B19@FMSMSX108.amr.corp.intel.com> References: <20200512085710.14688-1-m.szyprowski@samsung.com> <20200512090058.14910-1-m.szyprowski@samsung.com> <20200512090058.14910-38-m.szyprowski@samsung.com> <14063C7AD467DE4B82DEDB5C278E8663010E210FAC@FMSMSX108.amr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.1.200.107] MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Pawel Osciak , Bartlomiej Zolnierkiewicz , David Airlie , Hans Verkuil , Mauro Carvalho Chehab , Robin Murphy , Christoph Hellwig , "linux-arm-kernel@lists.infradead.org" , "linux-media@vger.kernel.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" >-----Original Message----- >From: Marek Szyprowski >Sent: Tuesday, May 12, 2020 4:34 PM >To: Ruhl, Michael J ; dri- >devel@lists.freedesktop.org; iommu@lists.linux-foundation.org; linaro-mm- >sig@lists.linaro.org; linux-kernel@vger.kernel.org >Cc: Pawel Osciak ; Bartlomiej Zolnierkiewicz >; David Airlie ; linux- >media@vger.kernel.org; Hans Verkuil ; Mauro >Carvalho Chehab ; Robin Murphy >; Christoph Hellwig ; linux-arm- >kernel@lists.infradead.org >Subject: Re: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist >wrappers > >Hi Michael, > >On 12.05.2020 19:52, Ruhl, Michael J wrote: >>> -----Original Message----- >>> From: dri-devel On Behalf Of >>> Marek Szyprowski >>> Sent: Tuesday, May 12, 2020 5:01 AM >>> To: dri-devel@lists.freedesktop.org; iommu@lists.linux-foundation.org; >>> linaro-mm-sig@lists.linaro.org; linux-kernel@vger.kernel.org >>> Cc: Pawel Osciak ; Bartlomiej Zolnierkiewicz >>> ; David Airlie ; linux- >>> media@vger.kernel.org; Hans Verkuil ; Mauro >>> Carvalho Chehab ; Robin Murphy >>> ; Christoph Hellwig ; linux-arm- >>> kernel@lists.infradead.org; Marek Szyprowski >>> >>> Subject: [PATCH v4 38/38] videobuf2: use sgtable-based scatterlist >wrappers >>> >>> Use recently introduced common wrappers operating directly on the struct >>> sg_table objects and scatterlist page iterators to make the code a bit >>> more compact, robust, easier to follow and copy/paste safe. >>> >>> No functional change, because the code already properly did all the >>> scaterlist related calls. >>> >>> Signed-off-by: Marek Szyprowski >>> --- >>> For more information, see '[PATCH v4 00/38] DRM: fix struct sg_table nents >>> vs. orig_nents misuse' thread: >>> https://lore.kernel.org/dri-devel/20200512085710.14688-1- >>> m.szyprowski@samsung.com/T/ >>> --- >>> .../media/common/videobuf2/videobuf2-dma-contig.c | 41 ++++++++++- >--- >>> -------- >>> drivers/media/common/videobuf2/videobuf2-dma-sg.c | 32 +++++++----- >--- >>> -- >>> drivers/media/common/videobuf2/videobuf2-vmalloc.c | 12 +++---- >>> 3 files changed, 34 insertions(+), 51 deletions(-) >>> >>> diff --git a/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> b/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> index d3a3ee5..bf31a9d 100644 >>> --- a/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> +++ b/drivers/media/common/videobuf2/videobuf2-dma-contig.c >>> @@ -48,16 +48,15 @@ struct vb2_dc_buf { >>> >>> static unsigned long vb2_dc_get_contiguous_size(struct sg_table *sgt) >>> { >>> - struct scatterlist *s; >>> dma_addr_t expected = sg_dma_address(sgt->sgl); >>> - unsigned int i; >>> + struct sg_dma_page_iter dma_iter; >>> unsigned long size = 0; >>> >>> - for_each_sg(sgt->sgl, s, sgt->nents, i) { >>> - if (sg_dma_address(s) != expected) >>> + for_each_sgtable_dma_page(sgt, &dma_iter, 0) { >>> + if (sg_page_iter_dma_address(&dma_iter) != expected) >>> break; >>> - expected = sg_dma_address(s) + sg_dma_len(s); >>> - size += sg_dma_len(s); >>> + expected += PAGE_SIZE; >>> + size += PAGE_SIZE; >> This code in drm_prime_t_contiguous_size and here. I seem to remember >seeing >> the same pattern in other drivers. >> >> Would it worthwhile to make this a helper as well? >I think I've identified such patterns in all DRM drivers and replaced >with a common helper. So far I have no idea where to put such helper to >make it available for media/videobuf2, so those a few lines are indeed >duplicated here. I was thinking of drivers outside of DRM/media. Specifically RDMA. However, looking at that code, I see that my memory was a little off. It is working with continuous pages, but not finding the size. >> Also, isn't the sg_dma_len() the actual length of the chunk we are looking >at? >> >> If its I not PAGE_SIZE (ie. dma chunk is 4 * PAGE_SIZE?), does your >loop/calculation still work? > >scaterlist page iterators (for_each_sg_page/for_each_sg_dma_page and >their sgtable variants) always operates on PAGE_SIZE units. They >correctly handle larger sg_dma_len(). Ahh, ok, I see. Thank you! Mike > >Best regards >-- >Marek Szyprowski, PhD >Samsung R&D Institute Poland _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel