From nobody Thu Dec 18 08:19:55 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12621EE7FF4 for ; Mon, 11 Sep 2023 06:13:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234356AbjIKGNV (ORCPT ); Mon, 11 Sep 2023 02:13:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42978 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229843AbjIKGNT (ORCPT ); Mon, 11 Sep 2023 02:13:19 -0400 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2079.outbound.protection.outlook.com [40.107.20.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 816F2109; Sun, 10 Sep 2023 23:13:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NlmQ2qaslK3bDC39zONkYQR56IiKSH8Iq/VzVSOgeEvgY84oBHV7bGHfurafpc6zYuBmIFFzqDdd6+PGCNTQUhP1+O0WX09z69HKwWnpKldJ2rzMOZyVU2sARNA6Fi2y/hGYDQWN2oaDl0c9yvM4XZHpHOjwyaG2OraxNskP4dJGM/rY9V8DZAJu4iW1HEaUCF7G7p7ilO8METEQs00RQGC+cGQ3h1mzTYPTyqolM3nk6vCxcGiqu+nlNihoJ4zUIhatfWMteBCzykGpfUR0dHmIZzQx9xGLSNa1tdGE9qVn7AJ0tbCE260Ma3rmQ6SmGjSRbGYgsnZ6zmWIzhZ0zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NJn4TUkzxncq4pztfFZ/E9OC/mpuNSanmmxwfU+Y/9s=; b=hncf+XoHZj/PYA0jMzJFwQ42lpmkW/i61/hueSt0UoPgNHilPSqCVtiFDorXXWJdJ7csuPCsWOa4NtOdCVQVOKt2azkTHOi3iAcN1H5KsO7EmlwFPYGcfe5NgUsBzUaZLJ/NB+5hufPVc9FG61SGoXS6+akp3Z+LhKn1PhGmeNhdaaKjXqehTc7xIXA+hGbTid8yZc3OmGRWHnom5Azpv6BFX9dSKSCplrvM4UJbYHM5ugsHhZoSueOzPKPyoeM0YpVY3+3P0TNpmf6OVxDBPglOV1vZp5oNs8rkMJd/M39npOAaWU3MGbdLrsQCMp1ThBrp3vgo7XdPqyRpbWQQ7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NJn4TUkzxncq4pztfFZ/E9OC/mpuNSanmmxwfU+Y/9s=; b=RA8rKcBrLfE53/LOQbQlVX/7urQ/AoPfE8UjXfYzRc+UwMNi077KpcajoQrYDsVeTfxXXvKK9jz2rN24xLwJ4GCY6CNiyeku213ObzPhmd8THwyHFjgCywftYDLBBTIoYAMvHLtMUUdcSqk/IqvitCi+ax271XYap/xHMcC5Lv8= Received: from DB9PR04MB9284.eurprd04.prod.outlook.com (2603:10a6:10:36c::8) by PA4PR04MB8016.eurprd04.prod.outlook.com (2603:10a6:102:cb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.34; Mon, 11 Sep 2023 06:13:10 +0000 Received: from DB9PR04MB9284.eurprd04.prod.outlook.com ([fe80::964e:b1f3:bf81:867d]) by DB9PR04MB9284.eurprd04.prod.outlook.com ([fe80::964e:b1f3:bf81:867d%7]) with mapi id 15.20.6768.029; Mon, 11 Sep 2023 06:13:09 +0000 From: Hui Fang To: Tomasz Figa CC: Anle Pan , "m.szyprowski@samsung.com" , "mchehab@kernel.org" , "linux-media@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Jindong Yue , Xuegang Liu Subject: RE: [EXT] Re: [PATCH] media: videobuf2-dma-sg: limit the sg segment size Thread-Topic: [EXT] Re: [PATCH] media: videobuf2-dma-sg: limit the sg segment size Thread-Index: AQHZ2UI/RGKEIcG6sEyAOrT4GOix9LACiU/wgAAMzoCAB7BFoIABXXYAgAHcP6CAABZdgIAHn6dg Date: Mon, 11 Sep 2023 06:13:09 +0000 Message-ID: References: <20230828075420.2009568-1-anle.pan@nxp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB9PR04MB9284:EE_|PA4PR04MB8016:EE_ x-ms-office365-filtering-correlation-id: ac7599f3-887d-495a-57cf-08dbb28e2c24 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: H+aSHOmhEtYH+9E48FwOkqN9wwvWRG4QeDbwhDQQeh6QT8EBAb5kfqlfEdk2rHHqZfGEDguy0XcBo/8ZGYhEnpBpTPUTi1Yq4yTzteh7EJfox18IgkXDeqCcBcts6W+l2B0eAhtbhlrXhnbP39GdgBHCfZA/Ha4avlgh5zCG5A2LkBy+QQY3K95DcXVOW0cO4Oa9QCRxW4Wr/MXQPMWHfMZU3jbNB5s9CG9rNf4ecTgLAH9kdFdXHbAwXzcBdmBBOCuG6Pl2q9S1RhfHgdItpKmxrQaKY0ot+QXVtxbbGsVqIJVW7dFuTZM+7bqD10EfYh2DkWkRMo4BTFPRisJNfUd/nZKO088FRukuAgQBwRkDBMveEHpPIi3GcTa6S03h9r4DgbrATRAF/AgAjySGV2GP7iYuUb5b7bpVr4AH52kvuisS13Sh/4dWHR50qcxEBZxGQ0UKIJkMFzDxJFZGBTM9mOf7AvagfXWpSQi0ftMADXY3Ifd2Y2GyMK9P3Kgxdr3cOFtpLh9vW0W+Xk0nDxe2ta1XpFBMXle5cVgZEQX3D/5/c5IjruOlP0YxAjQgTA8smM1dUdC8EciRwU9bhnzr2CxIF+xUmgZaWHpV7J8BiP41CgI2qRmODRBxzwFo x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR04MB9284.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(136003)(376002)(346002)(451199024)(186009)(1800799009)(2906002)(44832011)(52536014)(26005)(55016003)(6916009)(41300700001)(316002)(66446008)(66556008)(54906003)(64756008)(66476007)(66946007)(76116006)(478600001)(4326008)(8936002)(8676002)(5660300002)(53546011)(7696005)(6506007)(9686003)(71200400001)(83380400001)(38070700005)(33656002)(38100700002)(86362001)(122000001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cGlGMUdSTHVlR1B0M0lDMWJiY05UbmlURmRvcHBKTWQ1bytoUHp6K0R3bzA2?= =?utf-8?B?VVoyditJbGtBc2N6ckVzYXhBaFpad0lHc0c3SjBoQWQ1MGtSMERFU1Q1aFpr?= =?utf-8?B?NkNrK0VTcDY5UW5BZ3hyRWRsS2VrcU5rV2tnQWJ6OURiK1BIcjhRZUxPbFVI?= =?utf-8?B?NGtHMnJDOTBFZ1FPdlFSOU5KdDdzS0R2SDRRallZTkhmdWl1Y3RGNmcxR2l0?= =?utf-8?B?MkZiVTIvV0JEdUFkTyt4M1ZhY1E4ZkdKa01BZ2N2Y291aWFPNWFMalNxWHVp?= =?utf-8?B?RGxOV2I2SklyVWxlT3VQSVkrVWhHUkRnMEdCOG1nRE9zNzJycmFkWWswKzFF?= =?utf-8?B?SkRPZFkvblJnYzFJa1ZORWJrbWM4VE9GYXFwMmV5OTlOcFZGMUxzSjI3TlJH?= =?utf-8?B?dnJaNzRFMC82TFNFWlV2Wk0vQjgwNUhReTVMN2NhN3A0UkhMVThuN3orUDMr?= =?utf-8?B?U0ZuZ2RVVVVGSldCbGRPeUVuSiszZ2RmQ2MvT3Y4aEpMY2lJRUU1OGVrYmxV?= =?utf-8?B?WEZNUXFWL3BRc0l0bkl1OGVoN3lvZGdkcnNOVk52OENhUE9hcWp4TUZlK3Bs?= =?utf-8?B?eW9wRUZUTFpRZFVDaHJoZEl4MjI5RXpSQlFybURETzhqQThSNmo3TzlobllN?= =?utf-8?B?bDNzN0Q1SkdoSnptZHVranhoVmxlTHlHNHEwVHFTcG1sSGxxNDJmTGsxMkFa?= =?utf-8?B?Y0k5Njc3UklCT2R3YTdCYm1mN01tTFdJL0hpcDJZZm1lR1RSUUF0dE50WERX?= =?utf-8?B?Nys4MGQyV2dwQ0tCQm1IVEdKdFFuam80dWpvRURVVGFSVVhqUjI4ME4yaG5C?= =?utf-8?B?bEpDNkdoV3d2TTlua3lQWXFDZzFkVHhucWpaQ2hLbUdoaUJVd0ZVTjBDRkUy?= =?utf-8?B?TmZzR0h6T09ucXVOMEZ3bE12dHFRNTQxdi93Tzd6SnV3VCs5MVFDdFlJZWZL?= =?utf-8?B?dEJTMGRZY0FuZFFHdnlMM0ppdlowTHFFSnFaWnowblpLRzJYQXNOa3pQdzQ2?= =?utf-8?B?b3ZJOUZIUFN1M29xUzZiRGRzT254aFhVaUJ6VzJuU1pQQmhXRE55Z3AzUVR1?= =?utf-8?B?VXhkcUd2ekRLak9lZHg4d1ZCYjlGNXN2b1pHV3Q2bk02a25hWU9vbDNyOEJq?= =?utf-8?B?a2hQcTc2SURxNHRtMFNLSEROZGpwV0xKN1NKR3V0dHVrQmhGWTlTUWFEbG5l?= =?utf-8?B?VDcrL3R3cDJ2WmpMZ3ZvWEN5dXZEK1dnZ0lzQXd2Z2VacVRvQzNMRkl5UjhP?= =?utf-8?B?bGJSQ0xlTTdwWVh2cTFraEVhdDMra0orYnY2ZGhnY05OYWs1QUVZNVBXMVhK?= =?utf-8?B?cWZLUGR1c0ZVaVRSVkhNakkxVUV0NWloZGZhOG5EeGFyd2NJT1RJWEpzY0NS?= =?utf-8?B?Sm1IOGdmTXY0TmRYVHlpbS9YVGxjNTZORW9sZVN6YUYrWFRabnk1QmlRQnow?= =?utf-8?B?UUdRWE1VNmR2SkVOWkh6ZmtqYXJMUVNyTW5WVyt4WmlDWUZyWmdmcCtDaEhL?= =?utf-8?B?WStCMDNZUllCMHFMeFp1TzFvQmNaOHBYbUxtWW14V3hvZ09xa0dFUllPeStY?= =?utf-8?B?QjYrSEN0WUxnYWFMcElxYlBWOWVWM1BoYkpTZDdCRWwvZzJKY3V6blc4QjQx?= =?utf-8?B?MVpqSC9lYVJpY1FQRDNZZ1ZmNHduMmwydDEvMTE4L2lvM2N1Z2pWaU52TnRp?= =?utf-8?B?UmpMUUVqZldhMGU5czV3MkNtaTFtT3JvWjZsWWpRV2dhQW1JdS9pZzJIY1h0?= =?utf-8?B?eHBocU81N1pLMys4YUFET0JwRDdkNTN3SzNvRUZiRC9lNTBwcXlCY0g1OEZS?= =?utf-8?B?eXNUUkc3d0s0eklsa0J2QTVhTWl2SEtlaDhXVVZXdTRhNjZ1aWhpbm9JdkxZ?= =?utf-8?B?RlhPVlcySDdBMUxZYm8zS0tKWXNjMngrSld4MW81TGcvRSsxVElwTi9XUlRC?= =?utf-8?B?UktXMFFxVUZkRDVBR29FYm02Z0EvaHBFd3F0RUQ1dU1VRnc0bmV4TTl6dllR?= =?utf-8?B?VmlwRmRCV2hWOCt3TFM2L3V4QlJQSktFK284ZmpscnNoNGZMZzFTUlYvaS9I?= =?utf-8?B?Qk5iSWhJb3luSmV0VG5jV0xzT3k2aVZ4MnRGQVBHUTBPU1JEUVJibjBmYXhB?= =?utf-8?Q?V1/M=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB9284.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac7599f3-887d-495a-57cf-08dbb28e2c24 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Sep 2023 06:13:09.8481 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hgF9D+7zVuZY1yDDHgydRKhJjR5X10tEb1lcf3b/Bw7LsAYAePD2wTOwQUAj/O5+1aiPvVBS7ng0eguyhmuC+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8016 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Sep 6, 2023 at 18:28=E2=80=AFPM Tomasz Figa wr= ote: > That all makes sense, but it still doesn't answer the real question on why > swiotlb ends up being used. I think you may want to trace what happens in > the DMA mapping ops implementation on your system causing it to use > swiotlb. Add log and feed invalid data to low buffer on purpose, it's confirmed that swiotlb is actually used. Got log as "[ 846.570271][ T138] software IO TLB: =3D=3D=3D=3D swiotlb_bounce: DMA_T= O_DEVICE, dst 000000004589fa38, src 00000000c6d7e8d8, srcPhy 5504139264, size 4096". " srcPhy 5504139264" is larger than 4G (8mp has DRAM over 5G). And "CONFIG_ZONE_DMA32=3Dy" in kernel config, so swiotlb static is used. Also, the host (win10) side can't get valid image. Code as below. diff --git a/drivers/media/common/videobuf2/videobuf2-dma-sg.c b/drivers/me= dia/common/videobuf2/videobuf2-dma-sg.c index 7f83a86e6810..de03704ce695 100644 Suggested-by: Tomasz Figa --- a/drivers/media/common/videobuf2/videobuf2-dma-sg.c +++ b/drivers/media/common/videobuf2/videobuf2-dma-sg.c @@ -98,6 +98,7 @@ static int vb2_dma_sg_alloc_compacted(struct vb2_dma_sg_b= uf *buf, return 0; } =20 +bool g_v4l2 =3D false; static void *vb2_dma_sg_alloc(struct vb2_buffer *vb, struct device *dev, unsigned long size) { @@ -144,6 +145,7 @@ static void *vb2_dma_sg_alloc(struct vb2_buffer *vb, st= ruct device *dev, if (ret) goto fail_table_alloc; =20 + g_v4l2 =3D true; pr_info("=3D=3D=3D=3D vb2_dma_sg_alloc, call sg_alloc_table_from_pa= ges_segment, size %d, max_segment %d\n", (int)size, (int)max_segment); diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c index dac01ace03a0..a2cda646a02f 100644 --- a/kernel/dma/swiotlb.c +++ b/kernel/dma/swiotlb.c @@ -523,6 +523,7 @@ static unsigned int swiotlb_align_offset(struct device = *dev, u64 addr) return addr & dma_get_min_align_mask(dev) & (IO_TLB_SIZE - 1); } =20 +extern bool g_v4l2; /* * Bounce: copy the swiotlb buffer from or back to the original dma locati= on */ @@ -591,8 +592,19 @@ static void swiotlb_bounce(struct device *dev, phys_ad= dr_t tlb_addr, size_t size } } else if (dir =3D=3D DMA_TO_DEVICE) { memcpy(vaddr, phys_to_virt(orig_addr), size); + if (g_v4l2) { + static unsigned char val; + val++; + memset(vaddr, val, size); + + pr_info("=3D=3D=3D=3Dxx %s: DMA_TO_DEVICE, dst %p, = src %p, srcPhy %llu, size %zu\n", + __func__, vaddr, phys_to_virt(orig_addr), o= rig_addr, size); + } } else { memcpy(phys_to_virt(orig_addr), vaddr, size); } } BRs, Fang Hui