Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp821535imm; Wed, 13 Jun 2018 08:48:01 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKfMU/GjY6j/Zf5j9APwwWypD/B09H2eJ/SMJpF1eB/D+yvPHasQvFAtieXJGAsp4nqy5L5 X-Received: by 2002:a63:2bc4:: with SMTP id r187-v6mr4522335pgr.231.1528904881098; Wed, 13 Jun 2018 08:48:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528904881; cv=none; d=google.com; s=arc-20160816; b=ZQJyRPWNCo8SPTNoNuqeYWU4BlsSbefH1ifE2Xm3y1ZAzqihXdiG//oq2QZAPKUQEj AavoXGBgd1thhqcpyKk/Kj3DuNmcJkbu2bRMZL1WEuvleNXWh6Q4OUeeLIXXK/2tlB3f DXymcu90CNMvjlnMVbpUBiI2k20Le4GZ93maHwaSnsTZo/bHg7mz3ort9bGxTSYbClcW 0lWaaP8JwicR+LogFGZSMgBzx3I1UEjcwJCdGZGKrSaRHQrHxkM/ZmbWbm9aq2DlzkXy 7NkO0aRPZinyBTbvg88ExDhQRFwNPIzpVZovM/lXltBasAjP8QJNX8nI0/SRj12nNMZe eVNw== 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 :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=WEawFZyDR19XfTU9gjRS8ft8Jn0so43fW4xZT66Xv0c=; b=zSqtmaIHTn+xOKGzB9fbvNhec21PiCj8EKe8BbG7L47mi7VjcqtNDCj2ZX7nKqaEU0 UZJgbMb0LUn2G80kwu9r4Ifn5JsSgAU7gMtBSEgcVHttKtbi9dyf/1OA8A/RzL/Hwktg 3y4INEBey/IrAY2t/UnUjgqw8Pepghd8Z6n9x6DzZqnMbM1l9fgzHNPoJvWyhrC9IASt LXLWYCNjSy21imyvzpsjJe0nj2hpIexzKKH6vg7C2olIyd9Fg4EpkBq4dXRRpXGIdn0O /AkkzAI6f61RNPriKh+doNktiByBgKxiVw80itXVqOYQyjHWhq4zlJTQB37qlq2WVncQ Xliw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=beKGcUOd; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f69-v6si3197743plb.503.2018.06.13.08.47.46; Wed, 13 Jun 2018 08:48:01 -0700 (PDT) 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; dkim=pass header.i=@linaro.org header.s=google header.b=beKGcUOd; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964837AbeFMPpv (ORCPT + 99 others); Wed, 13 Jun 2018 11:45:51 -0400 Received: from mail-io0-f196.google.com ([209.85.223.196]:33283 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964821AbeFMPpt (ORCPT ); Wed, 13 Jun 2018 11:45:49 -0400 Received: by mail-io0-f196.google.com with SMTP id d185-v6so3941505ioe.0 for ; Wed, 13 Jun 2018 08:45:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=WEawFZyDR19XfTU9gjRS8ft8Jn0so43fW4xZT66Xv0c=; b=beKGcUOd1DZ0CQqcoEloeevFNNL8LFBlv8yD55fmNYITyl4VBOikLNKe3Pmpmc1ZBr UXxqgTsnnYK431Tz03knjKzcBY8oPntwG5+51+DumzZwY8lMiWdQNnN4bN6JGidZREuq hiFhIGNmco8Voe8H/fb10W/1iCO2C5gqa6gKY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=WEawFZyDR19XfTU9gjRS8ft8Jn0so43fW4xZT66Xv0c=; b=gB3GGfsSzgwZbOcEuuEb+NSO3/TD2Q6zSS3ahFx4itDqfS9EXg8ATARLeuo22xTe/W /ibOKAeGZBKLazlxsWt2MAkImIH2RQz6+KESpK17RDCXglpPZ8Qyj4nfQ+jKogEU931f 29lJqDTJbMGyrmTMozwcEj1pLIXHQlZeiedjTbwtQuhFPgxbL2vypaQuEorfk02soLNo 1M3NBHiyiQ6WFHxvzahGxuVqTyyBzKhkuAP/74fe7f9x6BoH07pUwn39NzBNwfkjUAIE R0CuPWSItm7rmWraqsjmvFK7KzPF6w7as0Ay42o6rSggp1jQbjCBKAGz1vS5lgu4iC9J cdnA== X-Gm-Message-State: APt69E3Mj0rrG1vLmFup31ZpGOBWivl0vGPCEqoZOSinxSwoIZtSMMwh 5xRxxEOawHj7A3TiAD7W5xd6Quo6Lvy1ZcbuDjlmeQ== X-Received: by 2002:a6b:dd0b:: with SMTP id f11-v6mr5160663ioc.173.1528904748779; Wed, 13 Jun 2018 08:45:48 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a6b:bbc7:0:0:0:0:0 with HTTP; Wed, 13 Jun 2018 08:45:48 -0700 (PDT) In-Reply-To: <1526653072-7153-2-git-send-email-okaya@codeaurora.org> References: <1526653072-7153-1-git-send-email-okaya@codeaurora.org> <1526653072-7153-2-git-send-email-okaya@codeaurora.org> From: Ard Biesheuvel Date: Wed, 13 Jun 2018 17:45:48 +0200 Message-ID: Subject: Re: [PATCH V2 2/2] efi/fb: Convert PCI bus address to resource if translated by the bridge To: Sinan Kaya Cc: "open list:EFIFB FRAMEBUFFER DRIVER" , Timur Tabi , Bartlomiej Zolnierkiewicz , linux-arm-msm@vger.kernel.org, open list , "open list:FRAMEBUFFER LAYER" , Peter Jones , linux-arm-kernel 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 18 May 2018 at 16:17, Sinan Kaya wrote: > A host bridge is allowed to remap BAR addresses using _TRA attribute in > _CRS windows. > > pci_bus 0000:00: root bus resource [mem 0x80100100000-0x8011fffffff window] (bus address [0x00100000-0x1fffffff]) > pci 0000:02:00.0: reg 0x10: [mem 0x8011e000000-0x8011effffff] > > When a VGA device is behind such a host bridge and the resource is > translated efifb driver is trying to do ioremap against bus address > rather than the resource address and is failing to probe. > > efifb: probing for efifb > efifb: cannot reserve video memory at 0x1e000000 > efifb: framebuffer at 0x1e000000, using 1920k, total 1875k > efifb: mode is 800x600x32, linelength=3200, pages=1 > efifb: scrolling: redraw > efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0 > > Use the host bridge offset information to convert bus address to > resource address in the fixup. > > Signed-off-by: Sinan Kaya Reviewed-by: Ard Biesheuvel Bartlomiej, could you please take these via the fbdev tree for v4.19? Peter already gave his ack but Sinan dropped it (presumably because of the split in v2) Sinan, does this need to go to -stable? I.e., has it ever worked before? > --- > drivers/video/fbdev/efifb.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c > index 6daac8d..429cc85 100644 > --- a/drivers/video/fbdev/efifb.c > +++ b/drivers/video/fbdev/efifb.c > @@ -431,6 +431,7 @@ static void efifb_fixup_resources(struct pci_dev *dev) > .end = screen_info.lfb_base + screen_info.lfb_size - 1, > .flags = IORESOURCE_MEM, > }; > + struct pci_bus_region region; > int i; > > if (efifb_pci_dev || screen_info.orig_video_isVGA != VIDEO_TYPE_EFI) > @@ -442,6 +443,10 @@ static void efifb_fixup_resources(struct pci_dev *dev) > if (!screen_res.start) > return; > > + region.start = screen_res.start; > + region.end = screen_res.end; > + pcibios_bus_to_resource(dev->bus, &screen_res, ®ion); > + > for (i = 0; i <= PCI_STD_RESOURCE_END; i++) { > struct resource *res = &dev->resource[i]; > > -- > 2.7.4 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel