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 Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 98471C433F5 for ; Tue, 4 Jan 2022 22:11:13 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E4FAA83039; Tue, 4 Jan 2022 23:11:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ErTXLkTl"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 538DE8302A; Tue, 4 Jan 2022 23:11:09 +0100 (CET) Received: from mail-io1-xd30.google.com (mail-io1-xd30.google.com [IPv6:2607:f8b0:4864:20::d30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AE05283039 for ; Tue, 4 Jan 2022 23:11:04 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=judge.packham@gmail.com Received: by mail-io1-xd30.google.com with SMTP id s6so37030124ioj.0 for ; Tue, 04 Jan 2022 14:11:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=6mW8Urz+4Saq0xeuslyDuLgLqQQTw4ktRTwKYdjJWck=; b=ErTXLkTl7bGzS41cYD5qjXkfjt4QKieNt8p/kKFdbBK/z95xDzAzyhnC0kYlNQ8Kyv WAf8FrPKEB1s5DD9CRjA8Gxcc6NzHHeGOCNA8cPwDvpUxKIgv+syx6eiu3gva1b0rQaG 6fXdwfM3fR7VNRH8q02dRntzzWpGdrr4/MnVr6jrNN6Wvpu3O5TCNfOOsJCdW+0glJNR HxRQqfe/ZxYvhqhjqUU6ZKVzjZ2CPVisNaULBceG81lDJ/XrlHZ/QkTXgFDJ9t9p7T+L QUAptVgJWcWsvwLp45uQIfBhzQeRFbVj1t9bdl4RtsXu60x00OIjs1x0B+O/2KqSTIVY 4F4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=6mW8Urz+4Saq0xeuslyDuLgLqQQTw4ktRTwKYdjJWck=; b=8Hlhj+NLQUCOnyhC+A0+LpUu3qHt0yoLWQOLgDodw7PXYC3YmJmE3nNQT9Rp9OZPqO 9BPmxJPBs+keGflfzsj7f682kEF/cBjTLzKymF7o4reFRC37svdY2FZDa+ewo7IgbxtE zr5QwsMqPOjmQZCOe6CEjGSBNyVMFZU7R63apg89Hs7bI4GQNWfYr9Ge4stXAtp+mgE7 LbxDhA9iZIGaGglC2S5VRFf4bmepWxgXUp3rsWKdJgKNy9WCAhpHTefPnSWwy9PPJWh8 LtxMFxq3inxHIIA59VWAQXKKZdDjHQtqNDRrXgAZm0tsOmRdHefFjSZz4mZzwUiwTYBg fLwQ== X-Gm-Message-State: AOAM531K/KJlF2Brt1+/XD7EMXLDiKsdA08rd3h7UiCLCSWMP5o2BL85 3PzxYDfmtSdqgbCtedl39OvhxLkTWxni0346iv8= X-Google-Smtp-Source: ABdhPJyzXGwEw9joFWNNqCcJa+nLUOAOrNXankvlvq87/bc3zzgpv8LgWLS0UlGH9eGETZWg/NPJMtBqlWX1F9UWzGs= X-Received: by 2002:a02:b08f:: with SMTP id v15mr22377728jah.125.1641334263432; Tue, 04 Jan 2022 14:11:03 -0800 (PST) MIME-Version: 1.0 References: <20220104202827.9120-1-kabel@kernel.org> In-Reply-To: <20220104202827.9120-1-kabel@kernel.org> From: Chris Packham Date: Wed, 5 Jan 2022 11:10:51 +1300 Message-ID: Subject: Re: [PATCH u-boot-marvell] PLEASE TEST ddr: marvell: a38x: fix SPLIT_OUT_MIX state decision To: =?UTF-8?B?TWFyZWsgQmVow7pu?= Cc: Chris Packham , Stefan Roese , Baruch Siach , =?UTF-8?B?UGF2b2wgUm9ow6Fy?= , u-boot , Mario Six , Dennis Gilmore , Kostya Porotchkin , =?UTF-8?B?TWFyZWsgQmVow7pu?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Hi Marek, On Wed, Jan 5, 2022 at 9:28 AM Marek Beh=C3=BAn wrote: > > From: Marek Beh=C3=BAn > > Hello, > > continuing my last discussion with Chris [1] about this, could you > please test this change? (For Chris, mainly on your x530, since last > time you said it hanged your board in SPL.) I still get a hang after "Returning to BootROM (return address 0xffff05c4)... " (after the DDR training). > > It should fix DDR3 training issues. > > [1] https://lore.kernel.org/u-boot/20210208191225.14645-1-marek.behun@nic= .cz/ > > Signed-off-by: Marek Beh=C3=BAn > --- > .../a38x/ddr3_training_centralization.c | 27 +++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/drivers/ddr/marvell/a38x/ddr3_training_centralization.c b/dr= ivers/ddr/marvell/a38x/ddr3_training_centralization.c > index 648b37ef6f..ed799757b9 100644 > --- a/drivers/ddr/marvell/a38x/ddr3_training_centralization.c > +++ b/drivers/ddr/marvell/a38x/ddr3_training_centralization.c > @@ -55,6 +55,7 @@ static int ddr3_tip_centralization(u32 dev_num, u32 mod= e) > enum hws_training_ip_stat training_result[MAX_INTERFACE_NUM]; > u32 if_id, pattern_id, bit_id; > u8 bus_id; > + u8 current_byte_status; > u8 cur_start_win[BUS_WIDTH_IN_BITS]; > u8 centralization_result[MAX_INTERFACE_NUM][BUS_WIDTH_IN_BITS]; > u8 cur_end_win[BUS_WIDTH_IN_BITS]; > @@ -166,6 +167,10 @@ static int ddr3_tip_centralization(u32 dev_num, u32 = mode) > result[search_dir_id][7= ])); > } > > + current_byte_status =3D > + mv_ddr_tip_sub_phy_byte_status_ge= t(if_id, > + = bus_id); > + > for (bit_id =3D 0; bit_id < BUS_WIDTH_IN_= BITS; > bit_id++) { > /* check if this code is valid fo= r 2 edge, probably not :( */ > @@ -174,11 +179,33 @@ static int ddr3_tip_centralization(u32 dev_num, u32= mode) > [HWS_LOW2H= IGH] > [bit_id], > EDGE_1); > + if (current_byte_status & > + (BYTE_SPLIT_OUT_MIX | > + BYTE_HOMOGENEOUS_SPLIT_OUT))= { > + if (cur_start_win[bit_id]= >=3D 64) > + cur_start_win[bit= _id] -=3D 64; > + else > + cur_start_win[bit= _id] =3D 0; > + DEBUG_CENTRALIZATION_ENGI= NE > + (DEBUG_LEVEL_INFO= , > + ("pattern %d IF = %d pup %d bit %d subtract 64 adll from start\n", > + pattern_id, if_= id, bus_id, bit_id)); > + } > cur_end_win[bit_id] =3D > GET_TAP_RESULT(result > [HWS_HIGH2= LOW] > [bit_id], > EDGE_1); > + if (cur_end_win[bit_id] >=3D 64 &= & > + (current_byte_status & > + BYTE_SPLIT_OUT_MIX)) { > + cur_end_win[bit_id] -=3D = 64; > + DEBUG_CENTRALIZATION_ENGI= NE > + (DEBUG_LEVEL_INFO= , > + ("pattern %d IF = %d pup %d bit %d subtract 64 adll from end\n", > + pattern_id, if_= id, bus_id, bit_id)); > + } > + > /* window length */ > current_window[bit_id] =3D > cur_end_win[bit_id] - > -- > 2.34.1 >