sunxi-hdmi: Replace some magic constants with defines

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
sunxi-hdmi: Don't overwrite the current timings when receiving new EDID

Besides that overwriting the current timings is just wrong, this also
fixes a lot of "EDID mode used without valid EDID info" messages getting
thrown and more nasty side effects when unplugging and replugging a monitor.

What was happening is that the hdmi-edid code calls hdmi_edid_received,
which updates the fb_dev mode-list, the fbdev core code responds to this
by asking us what the current mode is, which ends up with a call to
hdmi_get_video_timing(). which would fail in Hdmi_tv_mode_to_hdmi_mode
because the Device_Support_VIC[HDMI_EDID] has been set to 0.

After the fbdev core failed to get the current mode, it tries to set things
to a new mode, which ends up doing a hdmi_get_video_timing() again (to
save the current mode as a fallback in case the new mode fails), which fails,
and things go downhill from there...

This patches fixes all this by keeping the current timing info in place as
*the* EDID mode when the current video_mode is HDMI_EDID.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
sunxi-hdmi: Call hdmi_edid_received after checking the checksum

As it is not really helpful to pass bogus data to the fbdev ...

Signed-off-by: Hans de Goede <hdegoede@redhat.com>