From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752883AbdEDNO4 (ORCPT ); Thu, 4 May 2017 09:14:56 -0400 Received: from mail-co1nam03on0055.outbound.protection.outlook.com ([104.47.40.55]:32640 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751106AbdEDNOs (ORCPT ); Thu, 4 May 2017 09:14:48 -0400 Authentication-Results: lists.freedesktop.org; dkim=none (message not signed) header.d=none;lists.freedesktop.org; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH] drm/amd/amdgpu: get rid of else branch To: Nikola Pajkovsky , References: <5a3557799269f0c74694a10a5ee6a6427e2a4290.1493902309.git.npajkovsky@suse.cz> CC: Alex Deucher , David Airlie , , From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <6e2bf24d-ece1-7afa-2b33-fecd0eea7550@amd.com> Date: Thu, 4 May 2017 15:14:36 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <5a3557799269f0c74694a10a5ee6a6427e2a4290.1493902309.git.npajkovsky@suse.cz> Content-Type: text/plain; charset="iso-8859-15"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [84.60.4.68] X-ClientProxiedBy: DB6PR1001CA0014.EURPRD10.PROD.OUTLOOK.COM (10.171.79.24) To DM5PR12MB1308.namprd12.prod.outlook.com (10.168.238.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ce33082b-df74-4128-e528-08d492ef8946 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:DM5PR12MB1308; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1308;3:zF8Of46PoyQJxmruCa1kYHFzg8bi51JhQWHCXiaATGcbRjBY43E6Ny9JLUHraleln5EYqj1nqtq1DHHgy8CjCoKf89YvIShtQ6twcMkRUxlvsy8KuaeW2QhKzPH7qjHUBlLBKCfCPFTsKWiriTBvZ9IUHItmmwTZhmwjNcQ3eVfOiDByLGdGyiCGvhlPGX/BDsyXkJyimIh8S1Vo6LJtL7ev57L/HWkzXadOMvRZLH1wHjUi5WzrTlKHvx9Faqbpf4pONWa7RUq7+OuqSDftgDsrcAKAmxKTR8vlkPpCz5Brul0L7D2cv5CXU7OniEXuKffiC1rQNLneUS8v+nO7d6OmoeuKctZ+p5SdGeeHWvk=;25:YvAGXNSy9/COJg3uuC/xRQg60MaQmROdp0bWc9p4aK2fdBuv4/M+G/C3/6vx2gpAravWbikauVWv365EgBPGXGJEbtJ9SkAIyyT1DwEBzCpRcZAlwyDHVpc8ilrRYSJo7QgEMduU+gyOYLFZBEVketOnM3zurRPuHTjA8U3s60RxqGn9l46/WBqGIYC5AOHidJfy3GO8DCCpCpiNlwbC0D1y1TI9ZDNz7PZJ+FlwIpHZur1N4N7Fvcrpx22FTYJbuXds2/OCA6/VnG2CXVDyzP/xTG8J1e1/TcE2qlAmSou0dD8oMUzrsDocuYpR2b4QsF4Y7kTBsawZp6fQ7T6BXerRCZI8t/fomeSlutpk9mJBHGw7Pwo6VzLOatYl4gZu4a4cFkv4IT85eR9qw5AhhcEn57IzfMsF8Wbt0/VfWm4uoaHlzDYMVLzUWaA0ZZI5 X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1308;31:4vZDD1QxVULKa/ZsmStLTlzyffi2bVg3RMKP+zvLAd6OC1ev89p75w+una4OBz5SLQ/iCQXqaAbfh2vGRgau1tgy8Ezd/p4q+URHCHnUf/lvYsS9Dnv/nVhw9dM4CUGTph3rQ56AjsIonkfMTHgFHvTzB9mENeAWC7dThKJGniwAiFz6u2T02HT3BzoyYB4KljtV1Yo6DwePcH6yefWgibUcNJ8NgJUod2TXaOgMLkEyKi00pHiqVnniSHCr6moy;20:wmgDeFqYXgsAap1yy6Dzi91/rPu2XoV237Ej1RdtscZLlbYHH4/B1rlyDb1L49LugCB0UDd3YVAjxm/LjzZZRXR/BLxrtHVbEY+sHm9GcAHjtvehDvGhHoxQPBYoFhhBIK0LsKwbOb/82Smk6kxnl4COfA2RRfHWPcKmS/fHF1WcsyytBIFo9yNLGxA/8C1dXX1FnreERXvgY+Iad9Scm7GTZpm9yJFASasrUGhQDNiN9RtCkm0ZhWJWX3Vq8La9Zucst8eoI2HDDGOTC7ANQ57SSuLwtkK11egizrpLD2/jvy/9vwgr2/ACpERxQFjMZHBrEB3FLEA3cgMvhzFNaRQZLaHLTIFdCBVN7qpoiP85DdSX6xB+OJxG1Md88fh59pbuOykmzCKJDhGfhb5IlWjAB0OhbNbXZ5IG3/B3ejI2+unNNZrzi4VYxxEmiSINQvdsQ+wdqwDYIxAv/gm0CCfWR9ETnOdKAwHRG19ZsQclqXA3z+UxNOr9Gxjf1Dhg X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123558100)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148);SRVR:DM5PR12MB1308;BCL:0;PCL:0;RULEID:;SRVR:DM5PR12MB1308; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1308;4:C3jGVVOc9pRWTficE6BEEbPfZHwbOnxNqlHcT7AaFEV32mQn5JdrwQozLAiJMXbXK6DJGMLAY+8EA7J7kR5dOSrD3zuEbA16Vm+soUUeGUpTGni1GuA7xFZCeRAvBy3XtOZfTA5GXJYuuyAUhCPgPhY2cmnyilZ0Fyp8wgxQAzKimCJQV+ENqB/ZixN3nzgcojGxO7Ko6CCSZ59l+KHJMxpwGkXUlATkVvA/jmWBptqoYo/BOKJpaG370tfB4BVKzzQPAoS3x6tNuA0sZeoJgOHVu5HQuH8KEg9EZuFy9XyhlA/+WjPJvC6usCsmUJBsvX+XrMxuzhT802T55CS6B3ajyHI0ovlNuOpUj0Ud7IYWkTbsCj30+IExpLLnHTpEmX8nSXyy7zfwozg3cPtSosh+UfmHV7obquir8cpD2Bdf0dRLmGzB+uLY+xI2tJ1I/Xp3C3Ps+WjyAiWQ5PzBlJowXdYjhD7uaIHlhxtY+IELdjgh7ntqLNbP3h1X+QLEZijFk6JRz8civV/IgM4uL2zmBB7o7lfQ0oX2QQ2qg0SKd2PGfOn/tI7r5sRpdm4t7ZhP0Gb1H0TJRLB0kMDApa4EW6qgdIRtUkGBAnQULHIYZfkTPLNUugW68qkTfL3zgtTApjh3CFvrokJynt0HyAcrOtSnJKuEwGZzbmnlx9IFB6L4p38YLVwoVdgmW4uNQpQQM3LLGVp8uuHu7u+oUWlkrZW+HRcWi+8DRkcHE+FzQF65KCodGbaiPJWVPO34lD3cos19LBnxdtirBz37N/cnM69Grtgv4X9YVxhyiRNoSi+2TC8RXx+VqGmRTsp8JCeARM9a/SO4ziXMNQCIOQ== X-Forefront-PRVS: 02973C87BC X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(39840400002)(39450400003)(39400400002)(39850400002)(39410400002)(39860400002)(8676002)(81166006)(83506001)(53936002)(50466002)(6666003)(2950100002)(33646002)(64126003)(25786009)(66066001)(2906002)(117156002)(47776003)(4326008)(4001350100001)(2870700001)(189998001)(50986999)(65826007)(54356999)(76176999)(31696002)(31686004)(6486002)(77096006)(42186005)(305945005)(7736002)(478600001)(23756003)(6116002)(38730400002)(3846002)(6246003)(36756003)(229853002)(5660300001)(86362001)(26583001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1308;H:[192.168.2.104];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-15?Q?1;DM5PR12MB1308;23:UD0KjLsZQutwz/mLemTcvYlMHIMYmP8jteAPE8?= =?iso-8859-15?Q?QdsYkMVlrcFKdJLBVoTU7fGtWrs7cOWhzcXYWUm8ZHznahm6iVOB1zI1E?= =?iso-8859-15?Q?8M8rescIz1Yaui1k/cmka6zqn3x2HWQG+b7RV4xGkTuCl5w/6MQ+U1VBT?= =?iso-8859-15?Q?QCuwiJLYQ17epI5ZRdR/AXuU5a1gD1TvJdDJBGftFWfwTNsberTDDXClL?= =?iso-8859-15?Q?OL7mKKwpRHaPvzUq5bs9C9iE/sejS0RNhb5Cml0u9xiZEYhsWjSP1m4U9?= =?iso-8859-15?Q?t50eenLNAF8f07a5kunForGGWmPpVQxrapR+cXvX6hYyrEnTkP5hgKFX6?= =?iso-8859-15?Q?z4ol0Ei+itEARnnURrJJApXMQBMXgBgNmUAzHQExigODe+o/NiPFtNsN+?= =?iso-8859-15?Q?c2XtleRi48XvfO26VIxCcDzG8/U6sfIEVuTkZjXhIVvuBhB100zv7p8nZ?= =?iso-8859-15?Q?dWTJYLJRCA7/95CGS6vVw6SI06jz+ELrs9IRbTnfxgpNRLjVZUTLPYn53?= =?iso-8859-15?Q?6ONoaEmNieTwneLy5222aMEQLy8O7vAKKXEyx+tjbByMFbQlPPYAowMR9?= =?iso-8859-15?Q?t/Jvz72cAzLyeiznsZ/s+4z/7ugAVzimKlHkWys+TfGctuN8UllDs7AWo?= =?iso-8859-15?Q?2qOEjgIS1YxnPvzEBwaZLre3nZ04dDtcktUaYZiY5culj7ZTtytaxgHLq?= =?iso-8859-15?Q?zZyGdZvrXSNPUqcLKhXHWjulwEpEzgVUJwqfqghyE+9tKRa0w2S8SafuR?= =?iso-8859-15?Q?UgncTPskNSZXi0EGlZIO9ZaaKOYsi37rDskAhPjCPPYxz4GmlYfAK+guu?= =?iso-8859-15?Q?XwUR+Gig6oKiX8dQIVDWtiYrh/UoLYtKP92HWBTdTvkl4Z+1YJ2+aLO9m?= =?iso-8859-15?Q?SmRQ7AeRvaDgH1D3JxN+KI8/KDkqQ56hh17/UvgIAMqzUGRqt30Bf6hZe?= =?iso-8859-15?Q?2ttCDN2NRnPUEQ9YR6ICSmCbRbz5H+5ZoObfV/YLTLYKXuVJjNTh7qUDa?= =?iso-8859-15?Q?B+xSb6mLnm+5HyNY1GV27gGnMxiNrK/5MzuSZYKlUXf2M2Gpe+pR1ufJD?= =?iso-8859-15?Q?Twrq+PmUlaq/uCGCGl0jAS9qFUCxDa3rrOihZCyiMOu36njJls5NQy8cA?= =?iso-8859-15?Q?C5vdvqkBC0y6QhRjKAGimw4sJ6VN94hmrA5MIod/02mh4ZeNO3rPlS4Up?= =?iso-8859-15?Q?UMPHYLrse3StK7S0nPWaf/xmHKq+RBQQeRhoSNJbaOC1T/AGmb3139ktA?= =?iso-8859-15?Q?UvME5DlDPfzD2hyNmdhH8KHp17PDZNizrxb79X2F2QI7tJOVorH694Pdl?= =?iso-8859-15?Q?euQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1308;6:lVwFLfZTwDdM2Fd0fK2qT3+tV0G1lkjKUBhEX6OlyCH4opcablFBKfjo6yfVHGC6An+y1ZvDDsJaXxP5/FoYjc7wrktlAjv0aS5HcAG8U0mnj4SAt4k96+8Lk5uFHMKU3rzhwt3uvb0qeLq/cF1hIttySzijid35gt6awBMFZVkaXMXpquwF17AncqgFZ5paWCbiiJw77fXIMKlHlYziG/eDcwtC/mQ/dx/7kAksw+eguff9qWkQRd6RDWK5bJtCNNAZbg0GMckt9hz00HEbznl5LocjGjkM8vNVYAsApeajQg4l6MJ9r8gM15aO/iR+CizenatH0eFqfDNJKtT1jchGH0KBAbNYwmBoM4Ovn/rPSHirxKnHIJRY8UpQTbRXeGU1N4aUjdDZ/SiUh4CJ9y4NapDwFt3jL6ZCW/6h2d87jQ0Bf1asphn98NjajZJvpT+EFv/V1R7ZCMx6VmVT49Jm6iRrVXgnBiaCm3dztujTCg8aVVbeRWTjOxUayklqoWp4BsuFCHiR1AH2zTOgTmSNsqGGn0ojKGHBbr8R+jk=;5:JTxhj3OxISkJ+fvCbTSVYS4kIjzv+C5to15rAm7oQohNkEgMlss9ob8gqDoh1pTVDdNaxwhqbH7XkVVLx4sRR84itla+kEv0VdoJG/VHZzyTCSMx8tJYPVwda53OUr+bF1uZy62Iybfn+Pp89f6ptg==;24:HFHKJLTAr3k5yCnuS/hGmfJwkPkqYKIwREEO0w3JjT+p5QyJ+lDnNCREYiqc+nUyPsxN8TI2MsmaaNk9br5foctaWSIjmVmRbFJ8z0cCk4w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1308;7:5OEL2uEIIqEV9EP3W7jmMboI3g3wcQt3c9dESiMgl0zynPnqnddGQxZioNRVzMZwwfqvZczaEbl4KRrSkVDg7TAQNbUFewEOmWT7jWPlzhGzbhuu3jfcaG10Ry1bXCId+wIm0eYR/7K/KrmOUWlwpSZ5h2h14HwMGrCpu9CNWH1k5SDga68SrLlx2efxT7aDJM9AtS0SvoviXtGms3AqSkumK0FKIDgnX4JUa3UZjuAxgwkYrxGeEX++6kRXaPmuWYj0H5EpEXvfI3MtsicTzNgk3FTIJpyz68jY/p/r5dHoCJwfOEl5349EPK+/N5OShuKj3wFJLseiMZXM3z1msw==;20:4bRXjpEDdcvTw/zrCSnWlxq41+Y+xcWHmwDbmVAncQ6mlSJAZxUnBiFZkq4TET+NZv7PXkkHB2K6hvQoHGPN7piklqlDyRSC3DeUmYYMljvIop1xpETbW/S5pwfmAmHmgCuRXa4cpOzrrGiVI4BywJlF2Id4rDEQml+SK3afrhTA+dWNUN0Jo1cfSFu7tzhElb6PCmo1nmHDx0o+1duVEFnSHJSB5fq7PU+dx00PRmubaruDLne25H0hvju90zuS X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2017 13:14:45.0084 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1308 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 04.05.2017 um 14:52 schrieb Nikola Pajkovsky: > else branch is pointless if it's right at the end of function and use > unlikely() on err path. > > Signed-off-by: Nikola Pajkovsky Reviewed-by: Christian König > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 45 +++++++++++++++++++------------------ > 1 file changed, 23 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index c1b913541739..8ab250d4761a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -1594,30 +1594,31 @@ static inline void amdgpu_ring_write_multiple(struct amdgpu_ring *ring, void *sr > unsigned occupied, chunk1, chunk2; > void *dst; > > - if (ring->count_dw < count_dw) { > + if (unlikely(ring->count_dw < count_dw)) { > DRM_ERROR("amdgpu: writing more dwords to the ring than expected!\n"); > - } else { > - occupied = ring->wptr & ring->ptr_mask; > - dst = (void *)&ring->ring[occupied]; > - chunk1 = ring->ptr_mask + 1 - occupied; > - chunk1 = (chunk1 >= count_dw) ? count_dw: chunk1; > - chunk2 = count_dw - chunk1; > - chunk1 <<= 2; > - chunk2 <<= 2; > - > - if (chunk1) > - memcpy(dst, src, chunk1); > - > - if (chunk2) { > - src += chunk1; > - dst = (void *)ring->ring; > - memcpy(dst, src, chunk2); > - } > - > - ring->wptr += count_dw; > - ring->wptr &= ring->ptr_mask; > - ring->count_dw -= count_dw; > + return; > } > + > + occupied = ring->wptr & ring->ptr_mask; > + dst = (void *)&ring->ring[occupied]; > + chunk1 = ring->ptr_mask + 1 - occupied; > + chunk1 = (chunk1 >= count_dw) ? count_dw: chunk1; > + chunk2 = count_dw - chunk1; > + chunk1 <<= 2; > + chunk2 <<= 2; > + > + if (chunk1) > + memcpy(dst, src, chunk1); > + > + if (chunk2) { > + src += chunk1; > + dst = (void *)ring->ring; > + memcpy(dst, src, chunk2); > + } > + > + ring->wptr += count_dw; > + ring->wptr &= ring->ptr_mask; > + ring->count_dw -= count_dw; > } > > static inline struct amdgpu_sdma_instance *