From 61724a8ab847b4ab169f894d60cb24de9f9bceb2 Mon Sep 17 00:00:00 2001
From: Jeffrey Lee <jlee@gitlab.riscosopen.org>
Date: Sun, 15 Dec 2013 22:41:28 +0000
Subject: [PATCH] Remove obsolete stub HAL video API implementation

Detail:
  hdr/Video, s/Top - Remove local VIDC list type 3 definition, use Hdr:VIDCList instead
  s/Boot, s/Video - Removed obsolete HAL video API implementation. A stub implementation is no longer required for systems that have a GraphicsV driver in a module, and can even cause problems if the OS decides to use the HAL implementation instead of the module one.
Admin:
  Tested in OMAP3 ROM on BB-xM
  Requires Kernel-5_35-4_79_2_203


Version 0.92. Tagged as 'OMAP3-0_92'
---
 VersionNum | 20 ++++++++++----------
 hdr/Video  | 51 ---------------------------------------------------
 s/Boot     | 45 +++++++++++++++------------------------------
 s/Top      |  1 +
 s/Video    | 48 ------------------------------------------------
 5 files changed, 26 insertions(+), 139 deletions(-)

diff --git a/VersionNum b/VersionNum
index 6ee2fc8..6118385 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,23 +1,23 @@
-/* (0.91)
+/* (0.92)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  * Last processed by srccommit version: 1.1.
  *
  */
-#define Module_MajorVersion_CMHG        0.91
+#define Module_MajorVersion_CMHG        0.92
 #define Module_MinorVersion_CMHG        
-#define Module_Date_CMHG                09 Nov 2013
+#define Module_Date_CMHG                15 Dec 2013
 
-#define Module_MajorVersion             "0.91"
-#define Module_Version                  91
+#define Module_MajorVersion             "0.92"
+#define Module_Version                  92
 #define Module_MinorVersion             ""
-#define Module_Date                     "09 Nov 2013"
+#define Module_Date                     "15 Dec 2013"
 
-#define Module_ApplicationDate          "09-Nov-13"
+#define Module_ApplicationDate          "15-Dec-13"
 
 #define Module_ComponentName            "OMAP3"
 #define Module_ComponentPath            "castle/RiscOS/Sources/HAL/OMAP3"
 
-#define Module_FullVersion              "0.91"
-#define Module_HelpVersion              "0.91 (09 Nov 2013)"
-#define Module_LibraryVersionInfo       "0:91"
+#define Module_FullVersion              "0.92"
+#define Module_HelpVersion              "0.92 (15 Dec 2013)"
+#define Module_LibraryVersionInfo       "0:92"
diff --git a/hdr/Video b/hdr/Video
index 61b2774..13a9ab8 100644
--- a/hdr/Video
+++ b/hdr/Video
@@ -180,57 +180,6 @@ VENC_GEN_CTRL                   * &CB8
 VENC_OUTPUT_CONTROL             * &CC4
 VENC_OUTPUT_TEST                * &CC8
 
-; -----------------------------------------------------------------------------------
-
-; mjs - this had better agree with the format specified in kernel s.vdu.vdumodes
-
-;
-; format of a VIDC list type 3
-;
-                                ^       4
-VIDCList3_PixelDepth            #       4
-VIDCList3_HorizSyncWidth        #       4
-VIDCList3_HorizBackPorch        #       4
-VIDCList3_HorizLeftBorder       #       4
-VIDCList3_HorizDisplaySize      #       4
-VIDCList3_HorizRightBorder      #       4
-VIDCList3_HorizFrontPorch       #       4
-VIDCList3_VertiSyncWidth        #       4
-VIDCList3_VertiBackPorch        #       4
-VIDCList3_VertiTopBorder        #       4
-VIDCList3_VertiDisplaySize      #       4
-VIDCList3_VertiBottomBorder     #       4
-VIDCList3_VertiFrontPorch       #       4
-VIDCList3_PixelRate             #       4
-VIDCList3_SyncPol               #       4  ; sync polarity/flag bits
-VIDCList3_ControlList           #       0  ; possibly empty list of pairs of index,value words
-;
-; and VIDCList3 is terminated by a -1 word
-;
-; Indices in VIDCList3_ControlList
-;
-                                ^       1
-ControlList_LCDMode             #       1
-ControlList_LCDDualPanelMode    #       1
-ControlList_LCDOffset0          #       1
-ControlList_LCDOffset1          #       1
-ControlList_HiResMode           #       1
-ControlList_DACControl          #       1
-ControlList_RGBPedestals        #       1
-ControlList_ExternalRegister    #       1
-ControlList_HClockSelect        #       1
-ControlList_RClockFrequency     #       1
-ControlList_DPMSState           #       1
-ControlList_Interlaced          #       1
-ControlList_InvalidReason       #       0
-
-; bits/flags in VIDCList3_SyncPol word:
-;
-SyncPol_InvertHSync             * 1
-SyncPol_InvertVSync             * 2
-SyncPol_InterlaceSpecified      * 4 ; if set, interlace bit has been specified, else filled in by kernel
-SyncPol_Interlace               * 8 ; set=interlaced, either specified by service call claimant or filled in from *TV by kernel
-
 ; -----------------------------------------------------------------------------------
 
                       ^    0, a1
diff --git a/s/Boot b/s/Boot
index 6192626..7de409a 100644
--- a/s/Boot
+++ b/s/Boot
@@ -234,21 +234,6 @@ HALdescriptor   DATA
         IMPORT   HAL_NVMemoryRead
         IMPORT   HAL_NVMemoryWrite
 
-        IMPORT   HAL_VideoFlybackDevice
-        IMPORT   HAL_VideoSetMode
-        IMPORT   HAL_VideoWritePaletteEntry
-        IMPORT   HAL_VideoWritePaletteEntries
-        IMPORT   HAL_VideoReadPaletteEntry
-        IMPORT   HAL_VideoSetInterlace
-        IMPORT   HAL_VideoSetBlank
-        IMPORT   HAL_VideoSetPowerSave
-        IMPORT   HAL_VideoUpdatePointer
-        IMPORT   HAL_VideoSetDAG
-        IMPORT   HAL_VideoVetMode
-        IMPORT   HAL_VideoPixelFormats
-        IMPORT   HAL_VideoFeatures
-        IMPORT   HAL_VideoBufferAlignment
-        IMPORT   HAL_VideoOutputFormat
         IMPORT   HAL_VideoIICOp ; Implemented in s.I2C
 
         IMPORT   HAL_UARTPorts
@@ -332,21 +317,21 @@ HAL_EntryTable  DATA
         HALEntry HAL_IICTransfer
         HALEntry HAL_IICMonitorTransfer
 
-        HALEntry HAL_VideoFlybackDevice
-        HALEntry HAL_VideoSetMode
-        HALEntry HAL_VideoWritePaletteEntry
-        HALEntry HAL_VideoWritePaletteEntries
-        HALEntry HAL_VideoReadPaletteEntry
-        HALEntry HAL_VideoSetInterlace
-        HALEntry HAL_VideoSetBlank
-        HALEntry HAL_VideoSetPowerSave
-        HALEntry HAL_VideoUpdatePointer
-        HALEntry HAL_VideoSetDAG
-        HALEntry HAL_VideoVetMode
-        HALEntry HAL_VideoPixelFormats
-        HALEntry HAL_VideoFeatures
-        HALEntry HAL_VideoBufferAlignment
-        HALEntry HAL_VideoOutputFormat
+        NullEntry ; HALEntry HAL_VideoFlybackDevice
+        NullEntry ; HALEntry HAL_VideoSetMode
+        NullEntry ; HALEntry HAL_VideoWritePaletteEntry
+        NullEntry ; HALEntry HAL_VideoWritePaletteEntries
+        NullEntry ; HALEntry HAL_VideoReadPaletteEntry
+        NullEntry ; HALEntry HAL_VideoSetInterlace
+        NullEntry ; HALEntry HAL_VideoSetBlank
+        NullEntry ; HALEntry HAL_VideoSetPowerSave
+        NullEntry ; HALEntry HAL_VideoUpdatePointer
+        NullEntry ; HALEntry HAL_VideoSetDAG
+        NullEntry ; HALEntry HAL_VideoVetMode
+        NullEntry ; HALEntry HAL_VideoPixelFormats
+        NullEntry ; HALEntry HAL_VideoFeatures
+        NullEntry ; HALEntry HAL_VideoBufferAlignment
+        NullEntry ; HALEntry HAL_VideoOutputFormat
 
         NullEntry ; HALEntry HAL_MatrixColumns
         NullEntry ; HALEntry HAL_MatrixScan
diff --git a/s/Top b/s/Top
index 67d4158..f310377 100644
--- a/s/Top
+++ b/s/Top
@@ -24,6 +24,7 @@
         GET     Hdr:Proc
         GET     Hdr:OSEntries
         GET     Hdr:HALEntries
+        GET     Hdr:VIDCList
 
         GET     hdr.omap3530
         GET     hdr.StaticWS
diff --git a/s/Video b/s/Video
index dc24bc7..f7c2807 100644
--- a/s/Video
+++ b/s/Video
@@ -34,22 +34,6 @@
 
         AREA    |Asm$$Code|, CODE, READONLY, PIC
 
-        EXPORT  HAL_VideoFlybackDevice
-        EXPORT  HAL_VideoSetMode
-        EXPORT  HAL_VideoWritePaletteEntry
-        EXPORT  HAL_VideoWritePaletteEntries
-        EXPORT  HAL_VideoReadPaletteEntry
-        EXPORT  HAL_VideoSetInterlace
-        EXPORT  HAL_VideoSetBlank
-        EXPORT  HAL_VideoSetPowerSave
-        EXPORT  HAL_VideoUpdatePointer
-        EXPORT  HAL_VideoSetDAG
-        EXPORT  HAL_VideoVetMode
-        EXPORT  HAL_VideoPixelFormats
-        EXPORT  HAL_VideoFeatures
-        EXPORT  HAL_VideoBufferAlignment
-        EXPORT  HAL_VideoOutputFormat
-
         EXPORT  Video_Init
         EXPORT  VideoDevice_Init
         EXPORT  Video_Power_VBC_DVI
@@ -70,38 +54,6 @@ Video_Init
         BNE     GPIOx_SetAsOutput ; Turn DVI framer off
         MOV     pc, lr
 
-; Stubs for unused HAL functions
-
-HAL_VideoOutputFormat
-HAL_VideoVetMode
-        MOV     r0, #0
-HAL_VideoSetMode
-HAL_VideoWritePaletteEntry
-HAL_VideoWritePaletteEntries
-HAL_VideoSetInterlace
-HAL_VideoSetBlank
-HAL_VideoSetPowerSave
-HAL_VideoUpdatePointer
-HAL_VideoSetDAG
-HAL_VideoReadPaletteEntry
-        MOV     pc, lr
-
-HAL_VideoFlybackDevice
-        MOV     a1, #-1
-        MOV     pc, lr
-
-HAL_VideoPixelFormats
-        MOV     a1, #2_111111
-        MOV     pc, lr
-
-HAL_VideoFeatures
-        MOV     a1, #2_10010            ; hw pointer, no VSyncs
-        MOV     pc, lr
-
-HAL_VideoBufferAlignment
-        MOV     a1, #4
-        MOV     pc, lr
-
 VideoDevice_Init
         ; Not much to do here - just register our HAL device
         Push    "v1,lr"
-- 
GitLab