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=-0.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 E77CFC33CA2 for ; Sat, 11 Jan 2020 03:15:18 +0000 (UTC) Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 401C92072E for ; Sat, 11 Jan 2020 03:15:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KDOAY0Kb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 401C92072E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kernelnewbies-bounces+kernelnewbies=archiver.kernel.org@kernelnewbies.org Received: from localhost ([::1] helo=shelob.surriel.com) by shelob.surriel.com with esmtp (Exim 4.92.3) (envelope-from ) id 1iq7F6-0001fY-UE for kernelnewbies@archiver.kernel.org; Fri, 10 Jan 2020 22:15:16 -0500 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]) by shelob.surriel.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92.3) (envelope-from ) id 1iq7DK-0007tz-4p for kernelnewbies@kernelnewbies.org; Fri, 10 Jan 2020 22:13:26 -0500 Received: by mail-oi1-x22c.google.com with SMTP id 18so3693284oin.9 for ; Fri, 10 Jan 2020 19:13:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QVen0hYgcRyFw/w0lh3FX9O3stxUM3KkIYqxrYbqlm8=; b=KDOAY0Kb5ljdbZwQB5lXJEyCHwYbzTivqk3RBXSbM9nqHN7YLsYDNAsm1dOr3u4u9c Seyo1K4y57O6k9ms2wd2Mhq0jd2aJHV5z5pxxD8Tfe8738+avBm0ZETkI+w/pvBloyEP JKTy35ukVj0ZfUSXhKTjeTUpIs29huUHJZZ9wRx9STt7u+68Yb4S0XBYas8qa4BZo3ZM Gq3PCsHSGr8g1REATRQLDcXMix+f+cX2mAfgR4izCzTmPh//hgcuS57rcOXkAes8IAMn +gs07S7oajsKikDzPDn0b1od3pnIalCm+C7/c12aiQOjmKU9EPubJNmTLTF8313MdqWV TQ9Q== 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=QVen0hYgcRyFw/w0lh3FX9O3stxUM3KkIYqxrYbqlm8=; b=osenYCdlU1N27x3yHhTZZlggZxbtpvcBT5p8o6zYmSzs+qc9GqjpzK641XEf4noIC6 iGS1KM9j7iBcO6RTEbdjrvp8UhK2stKprpYb0aAIb2RFEzJNWQ9m8Ik+2D7RLCLzfwwM 4xHg15cHT9Y1cr5gnR5jTpejHxDxO/QRKz3U6Cw0NNzLmRTRHyS2o/nZcfYVJT11IKKK Gob/fZ7ErPVm7tGm09yyCCh4hB3dbSNEpvwdl5foA48eMWd0mJvPXo8WH5pnC/u8GP3M SubYpLfdl0qF27sZajd87pS1tgUPzLObrSpPf5MgIoTydcJIV6Xxt7kxxsAVVtaO5GKA TXQw== X-Gm-Message-State: APjAAAW9zbkE51ODPovcciD1LHhbUp0gmYYrwo3V3Ot3zNaxLqnZQBA0 4Jd0+GznToQCQQSVxTo2oxY9k8nxuNaZMb9C+g0= X-Google-Smtp-Source: APXvYqwsYsLoN+9y12vaJZrbxCeFx4y9NURL26ixlJZXz/Fv2wvxFNmL4nUb6C8DrGew8CNOUMWV/xuTu8lKir/6fDs= X-Received: by 2002:a54:4501:: with SMTP id l1mr4728986oil.101.1578712403028; Fri, 10 Jan 2020 19:13:23 -0800 (PST) MIME-Version: 1.0 References: <596b8223-774c-d249-2134-e143d77c9be9@kate.si> In-Reply-To: From: Muni Sekhar Date: Sat, 11 Jan 2020 08:43:09 +0530 Message-ID: Subject: Re: read the memory mapped address - pcie - kernel hangs To: Onur Atilla Cc: kernelnewbies , primoz.beltram@kate.si X-BeenThere: kernelnewbies@kernelnewbies.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Learn about the Linux kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============7094595162870806349==" Errors-To: kernelnewbies-bounces+kernelnewbies=archiver.kernel.org@kernelnewbies.org --===============7094595162870806349== Content-Type: multipart/alternative; boundary="000000000000fc30ce059bd49f0e" --000000000000fc30ce059bd49f0e Content-Type: text/plain; charset="UTF-8" Thanks, I'll check it out. On Sat, 11 Jan, 2020, 4:33 AM Onur Atilla, wrote: > On 10.01.20 15:58, Muni Sekhar wrote: > > On Fri, Jan 10, 2020 at 4:46 PM Primoz Beltram > wrote: > >> > >> Hi, > >> Have read also other replays to this topic. > >> I have seen-debug such deadlock problems with FPGA based PCIe endpoint > >> devices (Xilinx chips) and usually (if not signal integrity problems), > >> the problem was in wrong AXI master/slave bus handling in FPGA design. > >> I guess you have FPGA Xilinx PCIe endpoint IP core attached as AXI > >> master to FPGA internal AXI bus (access to AXI slaves inside FPGA > design). > >> If FPGA code in your design does not handle correctly AXI master > >> read/write requests, e.g. FPGA AXI slave does not generate bus ACK in > >> correct way, the PCIe bus will stay locked (no PCIe completion sent > >> back), resulting in complete system lock. Some PCIe root chips have > >> diagnostic LEDs to help decode PCIe problems. > >> From your notice about doing two 32bit reads on 64bit CPU, I would > >> guess the problem is in handling AXI transfer size signals in FPGA slave > >> code. > >> I would suggest you to check the code in FPGA design. You can use FPGA > >> test bench simulation to check the behaviour of PCIe endpoint originated > >> AXI read/write requests. > >> Xilinx provides test bench simulation code for their PCIe IP's. > >> They provide also PCIe root port model, so you can simulate AXI > >> read/writes accesses as they would come from CPU I/O memory requests via > >> PCIe TLPs. > > Thank you so much for sharing valuable information, will work on this. > > > >> WBR Primoz > > Hi, > > you may also want to have a look at the AXI Timeout Block (ATB) to > prevent system/core locks due to a missing ACK of a slave. If given by > the HW, ATB generates an alternative response in case the slave fails to > respond within a given time. It may also trigger an interrupt to help > handle/debug the error. > > Regards, > Onur > > --000000000000fc30ce059bd49f0e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, I'll check it out.=C2=A0

On Sat, 11 Jan, 2020= , 4:33 AM Onur Atilla, <onurati@pos= teo.de> wrote:
On 10.01.20 1= 5:58, Muni Sekhar wrote:
> On Fri, Jan 10, 2020 at 4:46 PM Primoz Beltram <primoz.beltram@= kate.si> wrote:
>>
>> Hi,
>> Have read also other replays to this topic.
>> I have seen-debug such deadlock problems with FPGA based PCIe endp= oint
>> devices (Xilinx chips) and usually (if not signal integrity proble= ms),
>> the problem was in wrong AXI master/slave bus handling in FPGA des= ign.
>> I guess you have FPGA Xilinx PCIe endpoint IP core attached as AXI=
>> master to FPGA internal AXI bus (access to AXI slaves inside FPGA = design).
>> If FPGA code in your design does not handle correctly AXI master >> read/write requests, e.g. FPGA AXI slave does not generate bus ACK= in
>> correct way, the PCIe bus will stay locked (no PCIe completion sen= t
>> back), resulting in complete system lock. Some PCIe root chips hav= e
>> diagnostic LEDs to help decode PCIe problems.
>>=C2=A0 From your notice about doing two 32bit reads on 64bit CPU, I= would
>> guess the problem is in handling AXI transfer size signals in FPGA= slave
>> code.
>> I would suggest you to check the code in FPGA design. You can use = FPGA
>> test bench simulation to check the behaviour of PCIe endpoint orig= inated
>> AXI read/write requests.
>> Xilinx provides test bench simulation code for their PCIe IP's= .
>> They provide also PCIe root port model, so you can simulate AXI >> read/writes accesses as they would come from CPU I/O memory reques= ts via
>> PCIe TLPs.
> Thank you so much for sharing valuable information, will work on this.=
>
>> WBR Primoz

Hi,

you may also want to have a look at the AXI Timeout Block (ATB) to
prevent system/core locks due to a missing ACK of a slave. If given by
the HW, ATB generates an alternative response in case the slave fails to respond within a given time. It may also trigger an interrupt to help
handle/debug the error.

Regards,
Onur

--000000000000fc30ce059bd49f0e-- --===============7094595162870806349== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies --===============7094595162870806349==--