Re: [REGRESSION] tegra124: nyan-big: kernel 5.0 with VIC not booting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 04, 2019 at 10:10:45PM +0100, Tristan Bastian wrote:
> Hello Thierry,
> 
> You've enabled the video image compositor for tegra124 with commit:
> 3dde5a2342cd204df15b6b0b90ee0ed4542225ca
> I'm not able to bootup a 5.0 kernel with your commit, something must have
> gone wrong there..
> If I revert your commit and rebuild the dtb, I can bootup without any
> issues.
> 
> With this commit I'm just getting to a black screen with disabled backlight.
> 
> I'm not sure if this issue also exists on other tegra124 devices, but I
> think that you would have at least tested the jetson tk1 device and had no
> chance to test this on nyan(-big) devices..
> 
> Any Ideas what is causing this on nyan-big?

You're probably just missing the VIC firmware. Try installing a recent
version of the linux-firmware repository. The VIC firmware for Tegra124
was added by this commit:

	commit ba53b253ec087dde6d5f0776f2c927102c792ca1
	Author:     Mikko Perttunen <mperttunen@xxxxxxxxxx>
	AuthorDate: Tue Jun 6 14:50:38 2017 +0300
	Commit:     Kyle McMartin <kyle@xxxxxxxxxx>
	CommitDate: Thu Jun 15 11:45:26 2017 -0400

	    firmware: tegra: Add VIC firmware

	    Add firmware files for the VIC falcon controller for Tegra124,
	    Tegra210 and Tegra186.

	    Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>
	    Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxx>

Alternatively you could try to backport this commit from linux-next:

	commit 77a0b09dd993c83ee7c770cc704e9bec18fd19c7
	Author: Thierry Reding <treding@xxxxxxxxxx>
	Date:   Fri Feb 1 14:28:32 2019 +0100

	    drm/tegra: vic: Load firmware on demand

	    Loading the firmware requires an allocation of IOVA space to make sure
	    that the VIC's Falcon microcontroller can read the firmware if address
	    translation via the SMMU is enabled.

	    However, the allocation currently happens at a time where the geometry
	    of an IOMMU domain may not have been initialized yet. This happens for
	    example on Tegra186 and later where an ARM SMMU is used. Domains which
	    are created by the ARM SMMU driver postpone the geometry setup until a
	    device is attached to the domain. This is because IOMMU domains aren't
	    attached to a specific IOMMU instance at allocation time and hence the
	    input address space, which defines the geometry, is not known yet.

	    Work around this by postponing the firmware load until it is needed at
	    the time where a channel is opened to the VIC. At this time the shared
	    IOMMU domain's geometry has been properly initialized.

	    As a byproduct this allows the Tegra DRM to be created in the absence
	    of VIC firmware, since the VIC initialization no longer fails if the
	    firmware can't be found.

	    Based on an earlier patch by Dmitry Osipenko <digetx@xxxxxxxxx>.

	    Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
	    Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>

Thierry

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux