Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp1137638imj; Sat, 16 Feb 2019 22:07:52 -0800 (PST) X-Google-Smtp-Source: AHgI3IZyMSoJvpFXUOMKjEEohMoICUCN49oz6Yw3DQKeKD7zYjwY68nml5M0AOJNYUdzeCO2SSYt X-Received: by 2002:a63:1266:: with SMTP id 38mr3795443pgs.388.1550383672857; Sat, 16 Feb 2019 22:07:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550383672; cv=none; d=google.com; s=arc-20160816; b=oNy2x98aCNV+rNOpabIEZSpp0tgkPwaU0KRMGH+9he/YGTRUoe9Y4OuP0Yd5uwe1Pk KxOnHB+c8RXyY/9e5ROVZSOL/N02GL3CiR2W3WjmM+Uv9suC/OpSJk7OigDsuc6jQWTQ DCjd48VAtxpI6RoI4yZ7c9jzxks97/ZirQmD2xy9a2PFFo9hXLw/EnOeLxwp/dOZZF4O 5iOYMxbqnyTlwgiAsSd08Qf/w3cKyPEcVSbSR/g7kd0ylOcmtOaA/1SLDUwbWAB4EHOV uOb+7bhnsvD6r5Apqdkupi/EwOeBVKHyCm+VTZIwRiOMgpmfb+y+W2atf/n3ICf0grjR KEMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=ur42kYMkGEQ3FHaUB+Wf4S4a96mg+tpVRLCFQYPDgNk=; b=diTjJ25NLxOkaEJHa9PUaFj2ERIRz4F/c97DDNrMD7gPW6dVkb+NdaghTymTWNlq3H pIKybZSe4RWN9RtXmt2PehrdgY19U9C54uC02qkx8S2PUcwWAcXzezjFZGnvB2xgH54j YGECSNm0hOvTx7vD+c2NBI5h0GfI/3eM6cdyv0FakgI7s+F1vDqOHjXgryLCKW6Kkvt5 yEs5b+vDt+RLLsXmLJtYSM2MGRxEpqVfikMPtcD7rSRVO7d5tMlJisDbDs/4lxS+DJ4G dGjCvQIxNo1KlfBJ4IztUCCjRq8yNJkBj2mTn3RWcviiWzLj0/C4GWxYe9TJ6He8Jr2p l52g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m11si10215345plt.26.2019.02.16.22.07.22; Sat, 16 Feb 2019 22:07:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730727AbfBPQDB (ORCPT + 99 others); Sat, 16 Feb 2019 11:03:01 -0500 Received: from mail-vk1-f169.google.com ([209.85.221.169]:39940 "EHLO mail-vk1-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727151AbfBPQDB (ORCPT ); Sat, 16 Feb 2019 11:03:01 -0500 Received: by mail-vk1-f169.google.com with SMTP id v70so2940836vkv.7 for ; Sat, 16 Feb 2019 08:03:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ur42kYMkGEQ3FHaUB+Wf4S4a96mg+tpVRLCFQYPDgNk=; b=WyD4zFph61oiz7qyUE+P2Ry9BhENIh/vaOgvWUtuyJYgn6FhI3ElxD67vQ3s081E2r hvWfPQ2Pu0ztx0+ZifRhEFUyu4ULWgkDyA8ihP23I6rR/O+hNpQb31yjX4WYWpvS8G1n 1NcELO78bhML9WjMJQlh94jaoW7nDRj/cSKJCy8yaHAGDRr3TGuQxFJ4xVfYE8vGLvCu da8Z84zKbbYQ8o+4DewQypE5NuvSMDB7nTNEOAdPCil1zfF13jbdzjGtHUsVmjUwweXG S/iKH0gI27bdmOe6gcJOkdD6sOkx+Bu6v7I0PgJ77RNq2vf4GTEs1iPttleUsxqlQw9b BnTw== X-Gm-Message-State: AHQUAuaIs2fthk6g/jGabL3neSnbcNfA4jYx9FqeT5oTPevcI5XETzbj qrvjfQcXtok0iWDwqBEuC9mBeeEcTqgRuvj3O9s= X-Received: by 2002:a1f:a689:: with SMTP id p131mr8083995vke.67.1550332979836; Sat, 16 Feb 2019 08:02:59 -0800 (PST) MIME-Version: 1.0 References: <2e3222ec-3355-b3d9-8409-5dcdc8b6de0c@canonical.com> In-Reply-To: <2e3222ec-3355-b3d9-8409-5dcdc8b6de0c@canonical.com> From: Ilia Mirkin Date: Sat, 16 Feb 2019 11:02:49 -0500 Message-ID: Subject: Re: drm/nouveau/bios/ramcfg, setting of RON pull value To: Colin Ian King Cc: Roy Spliet , Ben Skeggs , David Airlie , Daniel Vetter , dri-devel , nouveau , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Feb 16, 2019 at 10:02 AM Colin Ian King wrote: > > Hi, > > Static Analysis with CoverityScan as detected an issue with the setting > of the RON pull value in function nvkm_gddr3_calc in > drm/nouveau/bios/ramcfg.c > > This was introduced by commit: c25bf7b6155cb ("drm/nouveau/bios/ramcfg: > Separate out RON pull value") > > CoverityScan reports the issue as follows: > > 84 case 0x20: > 85 CWL = (ram->next->bios.timing[1] & 0x00000f80) >> 7; > 86 CL = (ram->next->bios.timing[1] & 0x0000001f) >> 0; > 87 WR = (ram->next->bios.timing[2] & 0x007f0000) >> 16; > 88 /* XXX: Get these values from the VBIOS instead */ > 89 DLL = !(ram->mr[1] & 0x1); > > CID 1324005 (#1 of 1): Operands don't affect result > (CONSTANT_EXPRESSION_RESULT) > > result_independent_of_operands: !(ram->mr[1] & 768) >> 8 is 0 regardless > of the values of its operands. This occurs as the operand of assignment. > > 90 RON = !(ram->mr[1] & 0x300) >> 8; > 91 break; > > Looking at this, I believe perhaps the correct setting could be: > > RON = !((ram->mr[1] & 0x300) >> 8); > > ..however I don't have the datasheet available for the H/W so I'm not > sure if this a correct fix. Actually looking at the code a bit, I suspect it should just be RON = (ram->mr[1] & 0x300) >> 8; since later on, when we recompose the MR (memory register) value, we do: ram->mr[1] |= (RON & 0x03) << 8; (And the whole point here is that we don't know how to get the proper RON value for that timing table version, so we just copy whatever used to be there in that case.) -ilia