The NetBSD Project

CVS log for src/sys/arch/arm/fdt/arm_simplefb.c

[BACK] Up to [] / src / sys / arch / arm / fdt

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.13 / (download) - annotate - [select for diffs], Fri Oct 14 22:10:15 2022 UTC (16 months, 1 week ago) by jmcneill
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.12: +2 -32 lines
Diff to previous 1.12 (colored)

Add a PCI resource manager and use it on Arm ACPI platforms.

The Arm ACPI code relied on PCI_NETBSD_CONFIGURE to configure devices that
were not enabled by system firmware. This is not safe to do unless the
firmware explicitly permits it using a device specific method defined in
the PCI firmware spec.

Introduce a new PCI resource manager that discovers what has already been
configured by firmware and allocates from the remaining space. This will
ensure that devices setup by firmware are untouched and only will program
BARs of devices that are not enabled at boot time.

The current implementation assumes that the parent PCI-PCI bridge's
are already configured. A worthwhile improvement in the future would be
to support programming windows for bridges that are not fully configured.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Jul 17 20:23:17 2022 UTC (19 months ago) by riastradh
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.11: +2 -5 lines
Diff to previous 1.11 (colored)

wsdisplay(4): Make most of struct vcons_data private.

More importantly, make sizeof(struct vcons_data) independent of
whether VCONS_DRAW_INTR &c. is defined.

Allocate the private space with kmem rather than in the caller.

This still doesn't have very good separation between interface
parameters and internal state, but it's better than before, and is
necessary to make genfb usable in modules.

In arm_simplefb.c, this removes use of the use_intr member.  That
assignment became redundant with the introduction of vcons_earlyinit,
so there's no need to replace it by anything.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Aug 30 22:47:24 2021 UTC (2 years, 5 months ago) by jmcneill
Branch: MAIN
Changes since 1.10: +14 -2 lines
Diff to previous 1.10 (colored)

Add 10-bit pixel format support.

Revision / (download) - annotate - [select for diffs], Sat Apr 3 22:28:16 2021 UTC (2 years, 10 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.4: +28 -10 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Sync with HEAD.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Mar 2 11:51:00 2021 UTC (2 years, 11 months ago) by jmcneill
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.9: +8 -3 lines
Diff to previous 1.9 (colored)

Fix previous: Each line is "stride" bytes wide, not "width * depth".

While here, add a comment explaining what this test is doing.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Mar 2 07:02:05 2021 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.8: +5 -2 lines
Diff to previous 1.8 (colored)

Sanity check size vs width x height x depth.  Buggy firmware exists.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jan 27 03:10:19 2021 UTC (3 years ago) by thorpej
Branch: MAIN
Changes since 1.7: +8 -6 lines
Diff to previous 1.7 (colored)

Rename of_match_compat_data() to of_compatible_match().  Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Jan 17 19:51:43 2021 UTC (3 years, 1 month ago) by jmcneill
Branch: MAIN
Changes since 1.6: +11 -6 lines
Diff to previous 1.6 (colored)

Fit in 80 columns. NFC.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Jan 17 19:03:49 2021 UTC (3 years, 1 month ago) by jmcneill
Branch: MAIN
Changes since 1.5: +4 -4 lines
Diff to previous 1.5 (colored)

Use vcons_earlyinit

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jan 17 14:28:25 2021 UTC (3 years, 1 month ago) by jmcneill
Branch: MAIN
Changes since 1.4: +6 -3 lines
Diff to previous 1.4 (colored)

fix build without VCONS_DRAW_INTR

Revision 1.4 / (download) - annotate - [select for diffs], Wed Oct 21 11:06:13 2020 UTC (3 years, 4 months ago) by rin
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.3: +4 -2 lines
Diff to previous 1.3 (colored)

Fix build for some arm32 kernels; arm_simplefb_reconfig() is used
only when NPCI > 0 && defined(PCI_NETBSD_CONFIGURE).

Revision 1.3 / (download) - annotate - [select for diffs], Tue Oct 20 23:03:30 2020 UTC (3 years, 4 months ago) by jmcneill
Branch: MAIN
Changes since 1.2: +37 -5 lines
Diff to previous 1.2 (colored)

Instead of trying to prevent pciconf from reconfiguring the firmware's
framebuffer, instead allow MD code to register callbacks. If a resource is
changed, the driver can unmap the old resource and remap the new. Do this
with simplefb so the console doesn't explode when the VGA device is
(potentially) reconfigured at boot.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Oct 19 01:12:14 2020 UTC (3 years, 4 months ago) by rin
Branch: MAIN
Changes since 1.1: +17 -2 lines
Diff to previous 1.1 (colored)

Fix colors of 32-bpp raster console for evbarm/aarch64eb and armeb.

Most boards are configured to little-endian in initial, and switched
to big-endian after kernel is loaded. In this case, framebuffer seems
byte-swapped to CPU.

It is best to reconfigure framebuffer (as done recently for sunxi_mixer
by jmcneill), but in most cases, HW is incapable, or we just don't know
register bits to configure them.

Therefore, override "format" FDT property for "simple-framebuffer" to
let drivers know byte-order for 32-bpp framebuffer.

Then, make fdt/simplefb (genfb) and arm_simplefb (early console) detect
byte-swapped FB, and configure genfb(4) or rasops(4) layers accordingly.

Tested on Pine A64+ (arm_simplefb) and Cubietruck (both fdt/simplefb and

Discussed with jmcneill. Thanks!!

Revision 1.1 / (download) - annotate - [select for diffs], Sat Oct 10 15:25:31 2020 UTC (3 years, 4 months ago) by jmcneill
Branch: MAIN

Support early FB console attachment when booting with a devicetree
(non-ACPI mode). Inform the pciconf code about the framebuffer to
prevent pciconf from changing resources out from under us when framebuffer
memory is in VRAM.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>