From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2289346439005740961==" MIME-Version: 1.0 From: kernel test robot Subject: drivers/gpu/drm/exynos/exynos_drm_g2d.c:907 g2d_runqueue_worker() warn: inconsistent returns '&g2d->runqueue_mutex'. Date: Tue, 24 Aug 2021 18:54:22 +0800 Message-ID: <202108241809.A2EmbR3X-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============2289346439005740961== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Inki Dae tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: d5ae8d7f85b7f6f6e60f1af8ff4be52b0926fde1 commit: 445d3bed75de4082c7c7794030ac9a5b8bfde886 drm/exynos: use pm_runtime= _resume_and_get() date: 2 months ago :::::: branch date: 18 hours ago :::::: commit date: 2 months ago config: openrisc-randconfig-m031-20210824 (attached as .config) compiler: or1k-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/gpu/drm/exynos/exynos_drm_g2d.c:907 g2d_runqueue_worker() warn: inc= onsistent returns '&g2d->runqueue_mutex'. Old smatch warnings: drivers/gpu/drm/exynos/exynos_drm_g2d.c:1237 exynos_g2d_set_cmdlist_ioctl()= error: copy_from_user() 'cmdlist->data[cmdlist->last]' too small (2040 vs = 4080) vim +907 drivers/gpu/drm/exynos/exynos_drm_g2d.c d7f1642c90ab5eb Joonyoung Shim 2012-05-17 863 = d7f1642c90ab5eb Joonyoung Shim 2012-05-17 864 static void g2d_runqueue_wo= rker(struct work_struct *work) d7f1642c90ab5eb Joonyoung Shim 2012-05-17 865 { d7f1642c90ab5eb Joonyoung Shim 2012-05-17 866 struct g2d_data *g2d =3D c= ontainer_of(work, struct g2d_data, d7f1642c90ab5eb Joonyoung Shim 2012-05-17 867 runqueue_work); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 868 struct g2d_runqueue_node *= runqueue_node; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 869 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 870 /* 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 871 * The engine is busy and = the completion of the current node is going 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 872 * to poke the runqueue wo= rker, so nothing to do here. 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 873 */ 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 874 if (test_bit(G2D_BIT_ENGIN= E_BUSY, &g2d->flags)) 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 875 return; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 876 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 877 mutex_lock(&g2d->runqueue_= mutex); d7f1642c90ab5eb Joonyoung Shim 2012-05-17 878 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 879 runqueue_node =3D g2d->run= queue_node; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 880 g2d->runqueue_node =3D NUL= L; 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 881 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 882 if (runqueue_node) { 7c3fc2b5ccd6694 Tobias Jakobi 2016-09-27 883 pm_runtime_mark_last_busy= (g2d->dev); 7c3fc2b5ccd6694 Tobias Jakobi 2016-09-27 884 pm_runtime_put_autosuspen= d(g2d->dev); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 885 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 886 complete(&runqueue_node->= complete); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 887 if (runqueue_node->async) 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 888 g2d_free_runqueue_node(g= 2d, runqueue_node); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 889 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 890 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 891 if (!test_bit(G2D_BIT_SUSP= END_RUNQUEUE, &g2d->flags)) { 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 892 g2d->runqueue_node =3D g2= d_get_runqueue_node(g2d); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 893 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 894 if (g2d->runqueue_node) { 445d3bed75de408 Inki Dae 2021-05-25 895 int ret; 445d3bed75de408 Inki Dae 2021-05-25 896 = 445d3bed75de408 Inki Dae 2021-05-25 897 ret =3D pm_runtime_resum= e_and_get(g2d->dev); 445d3bed75de408 Inki Dae 2021-05-25 898 if (ret < 0) { 445d3bed75de408 Inki Dae 2021-05-25 899 dev_err(g2d->dev, "fail= ed to enable G2D device.\n"); 445d3bed75de408 Inki Dae 2021-05-25 900 return; 445d3bed75de408 Inki Dae 2021-05-25 901 } 445d3bed75de408 Inki Dae 2021-05-25 902 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 903 g2d_dma_start(g2d, g2d->= runqueue_node); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 904 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 905 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 906 = d7f1642c90ab5eb Joonyoung Shim 2012-05-17 @907 mutex_unlock(&g2d->runqueu= e_mutex); d7f1642c90ab5eb Joonyoung Shim 2012-05-17 908 } d7f1642c90ab5eb Joonyoung Shim 2012-05-17 909 = :::::: The code at line 907 was first introduced by commit :::::: d7f1642c90ab5eb2d7c48af0581c993094f97e1a drm/exynos: add G2D driver :::::: TO: Joonyoung Shim :::::: CC: Inki Dae --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============2289346439005740961== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============2289346439005740961==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3539715696170465656==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: [kbuild] drivers/gpu/drm/exynos/exynos_drm_g2d.c:907 g2d_runqueue_worker() warn: inconsistent returns '&g2d->runqueue_mutex'. Date: Tue, 24 Aug 2021 14:22:07 +0300 Message-ID: <202108241809.A2EmbR3X-lkp@intel.com> List-Id: --===============3539715696170465656== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: d5ae8d7f85b7f6f6e60f1af8ff4be52b0926fde1 commit: 445d3bed75de4082c7c7794030ac9a5b8bfde886 drm/exynos: use pm_runtime= _resume_and_get() config: openrisc-randconfig-m031-20210824 (attached as .config) compiler: or1k-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/gpu/drm/exynos/exynos_drm_g2d.c:907 g2d_runqueue_worker() warn: inc= onsistent returns '&g2d->runqueue_mutex'. Old smatch warnings: drivers/gpu/drm/exynos/exynos_drm_g2d.c:1237 exynos_g2d_set_cmdlist_ioctl()= error: copy_from_user() 'cmdlist->data[cmdlist->last]' too small (2040 vs = 4080) (Presumably this warning is generated from a 32 bit config. The cmdlist->data[] is a unsigned long, but the code in exynos_g2d_set_cmdlist_ioctl() assumes it's 64 bit. ) vim +907 drivers/gpu/drm/exynos/exynos_drm_g2d.c d7f1642c90ab5eb Joonyoung Shim 2012-05-17 864 static void g2d_runqueue_wo= rker(struct work_struct *work) d7f1642c90ab5eb Joonyoung Shim 2012-05-17 865 { d7f1642c90ab5eb Joonyoung Shim 2012-05-17 866 struct g2d_data *g2d =3D c= ontainer_of(work, struct g2d_data, d7f1642c90ab5eb Joonyoung Shim 2012-05-17 867 runqueue_work); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 868 struct g2d_runqueue_node *= runqueue_node; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 869 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 870 /* 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 871 * The engine is busy and = the completion of the current node is going 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 872 * to poke the runqueue wo= rker, so nothing to do here. 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 873 */ 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 874 if (test_bit(G2D_BIT_ENGIN= E_BUSY, &g2d->flags)) 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 875 return; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 876 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 877 mutex_lock(&g2d->runqueue_= mutex); d7f1642c90ab5eb Joonyoung Shim 2012-05-17 878 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 879 runqueue_node =3D g2d->run= queue_node; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 880 g2d->runqueue_node =3D NUL= L; 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 881 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 882 if (runqueue_node) { 7c3fc2b5ccd6694 Tobias Jakobi 2016-09-27 883 pm_runtime_mark_last_busy= (g2d->dev); 7c3fc2b5ccd6694 Tobias Jakobi 2016-09-27 884 pm_runtime_put_autosuspen= d(g2d->dev); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 885 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 886 complete(&runqueue_node->= complete); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 887 if (runqueue_node->async) 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 888 g2d_free_runqueue_node(g= 2d, runqueue_node); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 889 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 890 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 891 if (!test_bit(G2D_BIT_SUSP= END_RUNQUEUE, &g2d->flags)) { 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 892 g2d->runqueue_node =3D g2= d_get_runqueue_node(g2d); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 893 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 894 if (g2d->runqueue_node) { 445d3bed75de408 Inki Dae 2021-05-25 895 int ret; 445d3bed75de408 Inki Dae 2021-05-25 896 = 445d3bed75de408 Inki Dae 2021-05-25 897 ret =3D pm_runtime_resum= e_and_get(g2d->dev); 445d3bed75de408 Inki Dae 2021-05-25 898 if (ret < 0) { 445d3bed75de408 Inki Dae 2021-05-25 899 dev_err(g2d->dev, "fail= ed to enable G2D device.\n"); 445d3bed75de408 Inki Dae 2021-05-25 900 return; mutex_unlock(&g2d->runqueue_mutex); 445d3bed75de408 Inki Dae 2021-05-25 901 } 445d3bed75de408 Inki Dae 2021-05-25 902 = 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 903 g2d_dma_start(g2d, g2d->= runqueue_node); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 904 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 905 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 906 = d7f1642c90ab5eb Joonyoung Shim 2012-05-17 @907 mutex_unlock(&g2d->runqueu= e_mutex); d7f1642c90ab5eb Joonyoung Shim 2012-05-17 908 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org = _______________________________________________ kbuild mailing list -- kbuild(a)lists.01.org To unsubscribe send an email to kbuild-leave(a)lists.01.org --===============3539715696170465656==-- 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=-12.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 90232C4338F for ; Tue, 24 Aug 2021 11:22:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 75124610C9 for ; Tue, 24 Aug 2021 11:22:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236655AbhHXLXV (ORCPT ); Tue, 24 Aug 2021 07:23:21 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:27262 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235618AbhHXLXS (ORCPT ); Tue, 24 Aug 2021 07:23:18 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.0.43) with SMTP id 17OAWoJB030409; Tue, 24 Aug 2021 11:22:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2021-07-09; bh=ZkDxee2mjTv3+ll1HSEz2/xpIMZ+vVSE/S38NLxpDts=; b=dOsxSqR9WK0S2lL7NQsoKyDrIi+vjH+Z/nVCvO4XpGa4XBVeh1Whv6qJaH8PDGP/RPdD HPVqHShWBfpmwkNhuUoCkWO+nAyYfmkQoQIl/kVH1TF064WjVNSH+ztJY6AMH7IQcusP UmlSyAkEP3R98QmrcHDzLW7sHGx+G86FpNSQQg39oWxMAxCwPD9wliog1T6EL1SLafid 8uQfOqW/C5M6YO9/hj2FUtLHtNBpYYpNPTKwumoRIUaNkeSwan2J3p12Bny/e8XUY1jZ Pw9EI+I6AVanimc1AxhKEsATlv5lTFSxU0JgvrI+9QCcB7nakdBwxopfl4yv5Jfkt3jC 6A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2020-01-29; bh=ZkDxee2mjTv3+ll1HSEz2/xpIMZ+vVSE/S38NLxpDts=; b=eGCUJ3ncoXDZp5qLeeh4gurJRQkB/Whafaz2KmEZNrexd5yJqzvbCIg53RDw0S0jan49 3TAIJvIx7hHDdk5PRLXJGFQj0PzgxsCA3gAjg0jvxCqRSRoJGj6LJoVfhYY9YHYUIDoV 9MoFDi6BKGxgvWoYnVZvgtRY21fkV450Fz1c56PCScbJitS+Y6yRV9pzIhlNPkBt2CiY 7JFVwYreLOQ/NHTFDHtS/qs6g31zQkwlrsOIzWc2ImB7ZOLy7IyYGwMQ9ua3vQ/rCJgm RRM+f1U9lCnUEqYIcdLyOTT1bX8eM297ZM60zrYEqK4VBRbbA5rLcDcqbMj71jZ2B2rP UA== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3amv678jj3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Aug 2021 11:22:27 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17OBFVio023029; Tue, 24 Aug 2021 11:22:26 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by userp3030.oracle.com with ESMTP id 3ajpkx41gb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Aug 2021 11:22:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=naG+1Y9kH5qbUWIzwMPp8QtBfZg1ZxnL5O2vCBuos0B3jqMNMsta9YfekV0vT/BYEOMiZ4UeHVpslaaxdI+uBTaCvrWyGEzBtebL97tAXejP97HGlj603+il4xezXeWwVLSDh4Fp4j9JvoBm5yK9gHQX/ON9mQUVhkkRuWssHNMZHxQ2VxBiuT7jdkJJRC9fmQGY/eXW4oyoz/fLB5z5X93EFOEuwYH5owV9GPcrGxaLcGb9aiw3fZYQGvz+ZEWBKS6b2ydHfh9FJV3NUq/GBKieIR0X6iIWXxoBab+o33KOofD0FAY1gJF2F79KPvTeUYLsuecUzJWBzUwaYT+R5A== 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-SenderADCheck; bh=ZkDxee2mjTv3+ll1HSEz2/xpIMZ+vVSE/S38NLxpDts=; b=DFxmvmg4zqu6bPVVvPURdNaGVqDwC9E+F9PAXBqU/XUm2PaBF4HSAGHEoeq2bQXgoGTeKLPkHxOG5nPx3zuhOBS3Sw8+HQ9EfVwNj262PmGxbHe7RC1Q7+a5NzSnqdHEkRBkh9xsugzapuduxxFPhcUM6RrSyHlYcjQpFtKtQyWn+MwKVdeDUtt1w8cPxtWGshl1E0cKX8+rhgXJFLyzsi4SXolYzWQLi8lBMG/n4CFicMdUvjIdbfnoMo1c5KR/5ypGXZTGaETTHHczzG8lomIuZqNd5G70JqJyBGZGFI+B9GZ8Sn10wnmDKJT51GRBIi9PEczpLRWZbOpl4nq1RA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZkDxee2mjTv3+ll1HSEz2/xpIMZ+vVSE/S38NLxpDts=; b=Xn573Vx8q36l3i0M58oZBkqA5C+6lteFo4BqDiT1nUikLUEvAi60BeVgCyDq4RTjumbO8prrX7luSfacTEueWGLpX57tuXq62jNaf3PhKrhhU+yD4wdpWIrFq1dYwJMLl0CAQtMaEl+puUjSOlXwEmeiE52ZOet6TpisYRwDnKs= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=oracle.com; Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by CO6PR10MB5410.namprd10.prod.outlook.com (2603:10b6:303:13d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug 2021 11:22:23 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268%7]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021 11:22:23 +0000 Date: Tue, 24 Aug 2021 14:22:07 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Inki Dae Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org Subject: [kbuild] drivers/gpu/drm/exynos/exynos_drm_g2d.c:907 g2d_runqueue_worker() warn: inconsistent returns '&g2d->runqueue_mutex'. Message-ID: <202108241809.A2EmbR3X-lkp@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Message-ID-Hash: CYORPQHZOOZYKBQDOKSIUJJ27EFNN6F5 User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: JN2P275CA0036.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:2::24) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kadam (62.8.83.99) by JN2P275CA0036.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:2::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 11:22:20 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39fe3b5a-435e-4679-a184-08d966f171e8 X-MS-TrafficTypeDiagnostic: CO6PR10MB5410: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:525; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q/hAz2i0ygN/BkpbOXBMkevjfTi1qcOu17Kn0MMdiJrUf/AbyT28ocF4GYe4heABPvigseFS4bU9huoiwtr1e4z2zQuV7uDF7RUipeRcdWgYu7DgMoQ4hKFAjQ8P50C+hBOIWWm3ACxaxXTmg77t+y9arKYlpWAMpZuQ2sBVxXu6qus/t0DVt8fUZOhHH/Zdj4Yn1cO00qJjBhfpfTgU3lZ8w1UgkLDGLg9pjwQZm74iu/qY2HxCCRJ3PGFSf0/WftsF3NxgH01OxepjwtgkhJFhz8F6HBm2pSsfoLyRfHIIPdc81q7S9Pv3RDqEz0L7LhtYQF8hl5eU/Wp4nJURRmKmUcUkAyMYR3L1WVYCCvaMt6tqo2o8wSQuLJkA7is594vCL4IrgahgGgChPzElA/8gB0YPngnHi6RnHZ05j5t+StEnMabqphhBtsWQ7z0L0FLdHzGltmHFVi7O1+sVLyK0ytIxI7OzcHEXdjry7ogLhKTP+OkuGrbbK9lepI5BBWUE/IjuS3ssCnHoBX4FSQaNuIFs2K2NgeWN8rOYiOfF+WgsAvZ8h5fxEs5/B2REWiyl0fUzpU57Bzm4TUdnd0YoAfBZriDvehJxJW7BM1sWc/POdR/v0eqzUq3p9uq4gt3n1D5ICr1KZ9jpS6xqe8Kgpu7lAVJRbRYgepsCXww4eFV+PkRTwCmKSCuIrPP6KJNqxTZuuZSSPEls7JoeAAvmw9extjU0ka6PfKD/e24VJbyOouQ21/cwGDnAk1W8xr6HNoCGM3xCUkGhgdRdH01KFdPJSfzw4Ocgk19GD79L7VIhovv0PMqljiis3K9sIagVkEtX/a4c5dMR86WOtzwT+IG2l/+WwemTu/j6l/k= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(136003)(376002)(39860400002)(186003)(38100700002)(38350700002)(956004)(83380400001)(8936002)(2906002)(8676002)(36756003)(26005)(6916009)(86362001)(1076003)(5660300002)(6496006)(6666004)(4326008)(478600001)(6486002)(66476007)(9686003)(966005)(316002)(52116002)(66556008)(66946007)(44832011)(70780200001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1X4Srw994Otm4ov0p3wvUwih/XxSLpNkalZBr0dCfgD+odwtMHOxrifZjnYj?= =?us-ascii?Q?A1vrSZeyPxssocecQ2x2V+jiaTQx6wDXTTG1p4WLAa+H7U072z6KDNPRSXIa?= =?us-ascii?Q?3n9ky55i832Vr6gAIq+gf0Y1OaI4n/KhOAVUV2IE2pOKDtQtGamQxUlyPYpS?= =?us-ascii?Q?srRJBYZPuHIR0ABA3gV28hZVj3EHcvs+INjBiSZlOJW2djlS8oNF+W/Jv2Yf?= =?us-ascii?Q?b5VMXgtXeoD7w6QHhNEreJVIWNj0VEHNCAdFTjf2H3x7RbPLb1lBUgT+kISh?= =?us-ascii?Q?ZNf2OrRFlZ9AAGHOBtJhnkBiATfsvGZ8OrBKYehnaXz5RKoJEeaZWyvSnriD?= =?us-ascii?Q?Kbs62TlXNqeGUssQiwQweApSpj2yN76x/7lZS5ziILpnSO7QG4JYNN1hWaUc?= =?us-ascii?Q?3Ty/RtCSzmpj10xmchHRNJvpSjBDGBm0AZheLhl49kw+0pHNFVzW/rPrVYgw?= =?us-ascii?Q?J+SLJDE9dvJLTfqZYK69BnySzjOgZCy7tUwhRQPFU80I3D3qHKhlYuD3/zuf?= =?us-ascii?Q?679yaq8/dnr75dUBv1p5cny4rZajEv41T3mjpJz0gp+OlisbKuqcU51mTBex?= =?us-ascii?Q?TVTMFyq0gow5+xf05Ow9pUfkfOfsHowckThvo7ae5OCKunOcGcb23jb203MF?= =?us-ascii?Q?5CEIfl4hGb/ZzSmVeRnz2EijWafLfK/8OUIR4DyaX03ypXYwO2JPOG/PBrIF?= =?us-ascii?Q?lqNyRrQt8xrRISclsOScs0LvlVwEd81TosFxQ+hGCriGVq/Mlz0u5/Nd+C9t?= =?us-ascii?Q?RsOycVj1UDiFrdU2Pz3SLJQ9wwP8jJ99t/Ar2t3yyhX2czhGAbApwqZymaYe?= =?us-ascii?Q?1W3/RuDaZPGhLh4vaFuxLwSeQQJlCEU/J7RDQ2tBeH11ePevXP03CdS9Rtc8?= =?us-ascii?Q?MCab6ur4bS2XL579FdsmlUxy7mKVbEalt6GGns2eSuCF+7q9haqNucBqHbSx?= =?us-ascii?Q?foLRCcByBoBZOA3cTTatOg6+IY4UN3O83axyy5LQbDL/bB6Zmvby6Pp5j/MH?= =?us-ascii?Q?y1+ULkZuwldn0N0MURLOVhoGjTgvN6mBpsK8I9B/zSuvy8J4sDSmm310TbUx?= =?us-ascii?Q?YADCCQtpYL0nlgy/kj6CuUgjXLHj1D1yKGRCuvik9La9OY3jNj8L9mhCqhzQ?= =?us-ascii?Q?1wspgAY0ns2JnCuUoBfUNo3uC1RYFNpIksDeUxGNfeU7JAJ/WlakbuWCt4Ny?= =?us-ascii?Q?aCFtgj2H6Wl7A3V/9SNKSB3paH30COghHWLubxwl//aLhGtJjTdkWwUcDksU?= =?us-ascii?Q?avOIVh3xfK15hDtTN8KHh7/cCoSWf9l+yw+wnYo/6q3UoSlHUgvYfg3ikg1A?= =?us-ascii?Q?bAX9oK4ZQ+M7pOISn2bATv7O?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39fe3b5a-435e-4679-a184-08d966f171e8 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 11:22:23.8695 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NbkxX1YZ+oNnTjRFSyDbVA6BqdKpv5XeYqiHqp7CajCAAeseaEfxcpwIUQsJzv2HvNPP8LBkyfM4gJU8lqHxrMUOtg8z2crYyNxdGktwXSQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5410 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10085 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 malwarescore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108240076 X-Proofpoint-ORIG-GUID: NDNpog8RUAmYxj_WxSrzIf1-1WV5xHKF X-Proofpoint-GUID: NDNpog8RUAmYxj_WxSrzIf1-1WV5xHKF Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: d5ae8d7f85b7f6f6e60f1af8ff4be52b0926fde1 commit: 445d3bed75de4082c7c7794030ac9a5b8bfde886 drm/exynos: use pm_runtime_resume_and_get() config: openrisc-randconfig-m031-20210824 (attached as .config) compiler: or1k-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/gpu/drm/exynos/exynos_drm_g2d.c:907 g2d_runqueue_worker() warn: inconsistent returns '&g2d->runqueue_mutex'. Old smatch warnings: drivers/gpu/drm/exynos/exynos_drm_g2d.c:1237 exynos_g2d_set_cmdlist_ioctl() error: copy_from_user() 'cmdlist->data[cmdlist->last]' too small (2040 vs 4080) (Presumably this warning is generated from a 32 bit config. The cmdlist->data[] is a unsigned long, but the code in exynos_g2d_set_cmdlist_ioctl() assumes it's 64 bit. ) vim +907 drivers/gpu/drm/exynos/exynos_drm_g2d.c d7f1642c90ab5eb Joonyoung Shim 2012-05-17 864 static void g2d_runqueue_worker(struct work_struct *work) d7f1642c90ab5eb Joonyoung Shim 2012-05-17 865 { d7f1642c90ab5eb Joonyoung Shim 2012-05-17 866 struct g2d_data *g2d = container_of(work, struct g2d_data, d7f1642c90ab5eb Joonyoung Shim 2012-05-17 867 runqueue_work); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 868 struct g2d_runqueue_node *runqueue_node; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 869 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 870 /* 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 871 * The engine is busy and the completion of the current node is going 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 872 * to poke the runqueue worker, so nothing to do here. 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 873 */ 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 874 if (test_bit(G2D_BIT_ENGINE_BUSY, &g2d->flags)) 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 875 return; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 876 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 877 mutex_lock(&g2d->runqueue_mutex); d7f1642c90ab5eb Joonyoung Shim 2012-05-17 878 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 879 runqueue_node = g2d->runqueue_node; d7f1642c90ab5eb Joonyoung Shim 2012-05-17 880 g2d->runqueue_node = NULL; 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 881 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 882 if (runqueue_node) { 7c3fc2b5ccd6694 Tobias Jakobi 2016-09-27 883 pm_runtime_mark_last_busy(g2d->dev); 7c3fc2b5ccd6694 Tobias Jakobi 2016-09-27 884 pm_runtime_put_autosuspend(g2d->dev); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 885 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 886 complete(&runqueue_node->complete); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 887 if (runqueue_node->async) 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 888 g2d_free_runqueue_node(g2d, runqueue_node); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 889 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 890 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 891 if (!test_bit(G2D_BIT_SUSPEND_RUNQUEUE, &g2d->flags)) { 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 892 g2d->runqueue_node = g2d_get_runqueue_node(g2d); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 893 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 894 if (g2d->runqueue_node) { 445d3bed75de408 Inki Dae 2021-05-25 895 int ret; 445d3bed75de408 Inki Dae 2021-05-25 896 445d3bed75de408 Inki Dae 2021-05-25 897 ret = pm_runtime_resume_and_get(g2d->dev); 445d3bed75de408 Inki Dae 2021-05-25 898 if (ret < 0) { 445d3bed75de408 Inki Dae 2021-05-25 899 dev_err(g2d->dev, "failed to enable G2D device.\n"); 445d3bed75de408 Inki Dae 2021-05-25 900 return; mutex_unlock(&g2d->runqueue_mutex); 445d3bed75de408 Inki Dae 2021-05-25 901 } 445d3bed75de408 Inki Dae 2021-05-25 902 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 903 g2d_dma_start(g2d, g2d->runqueue_node); 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 904 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 905 } 22d6704dd4bf2c8 Tobias Jakobi 2016-09-27 906 d7f1642c90ab5eb Joonyoung Shim 2012-05-17 @907 mutex_unlock(&g2d->runqueue_mutex); d7f1642c90ab5eb Joonyoung Shim 2012-05-17 908 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-leave@lists.01.org