Home | History | Annotate | Download | only in sunxi
History log of /src/sys/arch/arm/sunxi/sunxi_hdmi.c
RevisionDateAuthorComments
 1.14  27-Jan-2021  thorpej branches: 1.14.16;
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.13  27-Jan-2021  thorpej Use DEVICE_COMPAT_EOL.
 1.12  25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.11  18-Jan-2021  thorpej Remove "struct of_compat_data" and replace its usage with
"struct device_compatible_entry"; they are ABI-compatible.

Fix several "loses const qualifier" bugs encountered during
this conversion.
 1.10  23-Dec-2019  thorpej branches: 1.10.8;
No need to use I2C_F_POLL here.
 1.9  23-Dec-2019  thorpej When deciding to delay (rather than kpause), pay attention to
I2C_F_POLL, not 'cold'.
 1.8  22-Dec-2019  thorpej Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().
 1.7  19-Jul-2019  bouyer Don't allocate edid informations on stack, it's too large (struct edid_info is
near 3KB), and causes a stack overflow, corrupting proc0's struct pcb.
 1.6  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.5  03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.4  01-Jun-2018  bouyer branches: 1.4.2;
Defer display hardware reset to pipeline activation. This way, if we have a
pipeline setup which we can't manage, the simple framebuffer will keep working.
 1.3  03-Apr-2018  bouyer branches: 1.3.2;
disable all clocks at end of attach function, and re-enable ahb and mod only
in activate function.
enable ram gate (in debe) and video plls (in tcon) only when the video output
is enabled. Saves about 20mw when both video outputs are off.
 1.2  03-Apr-2018  bouyer A10 and A20 should have the same display hardware, so consistenly support
sun4i-a10 the same way as sun7i-a20.
This would need to be tested on a real A10.
 1.1  03-Apr-2018  bouyer work in progress on porting graphics drivers from arm/allwinner to fdt.
sunxidebe: display backend drivers
sunxitcon: lcd controller driver
sunxihdmi: hdmi controller driver
sunxidep: display engine pipeline driver. Its role is only to parse the
fdt display-engine node, and activate de backend drivers based on the
content of allwinner,pipelines

So far HDMI and lvds output works, in dual-framebuffer mode.
It has only been tested on A20. It should be OK on the A10 too, but
will likely need more work for other SoCs.
Console is not handled yet, and it conflicts with the simplefb driver if
it has been activated by u-boot.
 1.3.2.4  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.3.2.3  25-Jun-2018  pgoyette Sync with HEAD
 1.3.2.2  07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.3.2.1  03-Apr-2018  pgoyette file sunxi_hdmi.c was added on branch pgoyette-compat on 2018-04-07 04:12:12 +0000
 1.4.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1  10-Jun-2019  christos Sync with HEAD
 1.10.8.1  03-Apr-2021  thorpej Sync with HEAD.
 1.14.16.3  16-Oct-2022  bouyer Propagate videomode back to tcon
 1.14.16.2  16-Oct-2022  bouyer Work in progress: convert sunxi_hdmi to drm
 1.14.16.1  02-Oct-2022  bouyer Patch from Robert Swindells: start converting the A20 console driver to
drm2.
It builds but panics at boot because of missing helper functions for
debe.

RSS XML Feed