#
1.13 |
|
14-Oct-2022 |
jmcneill |
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 tags: bouyer-sunxi-drm-base
|
#
1.12 |
|
17-Jul-2022 |
riastradh |
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.
|
#
1.11 |
|
30-Aug-2021 |
jmcneill |
Add 10-bit pixel format support.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.10 |
|
02-Mar-2021 |
jmcneill |
Fix previous: Each line is "stride" bytes wide, not "width * depth".
While here, add a comment explaining what this test is doing.
|
#
1.9 |
|
02-Mar-2021 |
skrll |
Sanity check size vs width x height x depth. Buggy firmware exists.
|
#
1.8 |
|
27-Jan-2021 |
thorpej |
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.
|
#
1.7 |
|
17-Jan-2021 |
jmcneill |
Fit in 80 columns. NFC.
|
#
1.6 |
|
17-Jan-2021 |
jmcneill |
Use vcons_earlyinit
|
#
1.5 |
|
17-Jan-2021 |
jmcneill |
fix build without VCONS_DRAW_INTR
|
#
1.4 |
|
21-Oct-2020 |
rin |
branches: 1.4.2; Fix build for some arm32 kernels; arm_simplefb_reconfig() is used only when NPCI > 0 && defined(PCI_NETBSD_CONFIGURE).
|
#
1.3 |
|
20-Oct-2020 |
jmcneill |
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.
|
#
1.2 |
|
19-Oct-2020 |
rin |
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 arm_simplefb).
Discussed with jmcneill. Thanks!!
|
#
1.1 |
|
10-Oct-2020 |
jmcneill |
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.
|