freedreno/registers: Add 64 bit address registers
authorKristian H. Kristensen <hoegsberg@google.com>
Sat, 9 Nov 2019 08:57:56 +0000 (00:57 -0800)
committerKristian H. Kristensen <hoegsberg@gmail.com>
Wed, 11 Dec 2019 22:25:47 +0000 (22:25 +0000)
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Kristian H. Kristensen <hoegsberg@google.com>
src/freedreno/registers/a6xx.xml

index ad3c69d05d1f4c13a1bbefb353cc03dce1455b5e..a2eb85967a7ee0edfb1acb27ee0295edaf8f1583 100644 (file)
@@ -1777,6 +1777,7 @@ to upconvert to 32b float internally?
        </reg32>
        <reg32 offset="0x0c03" name="VSC_SIZE_ADDRESS_LO"/>
        <reg32 offset="0x0c04" name="VSC_SIZE_ADDRESS_HI"/>
+       <reg64 offset="0x0c03" name="VSC_SIZE_ADDRESS" type="waddress"/>
        <reg32 offset="0x0c06" name="VSC_BIN_COUNT">
                <bitfield name="NX" low="1" high="10" type="uint"/>
                <bitfield name="NY" low="11" high="20" type="uint"/>
@@ -1817,10 +1818,12 @@ to upconvert to 32b float internally?
         -->
        <reg32 offset="0x0c30" name="VSC_PIPE_DATA2_ADDRESS_LO"/>
        <reg32 offset="0x0c31" name="VSC_PIPE_DATA2_ADDRESS_HI"/>
+       <reg64 offset="0x0c30" name="VSC_PIPE_DATA2_ADDRESS" type="waddress"/>
        <reg32 offset="0x0c32" name="VSC_PIPE_DATA2_PITCH"/>
        <reg32 offset="0x0c33" name="VSC_PIPE_DATA2_ARRAY_PITCH" shr="4" type="uint"/>
        <reg32 offset="0x0c34" name="VSC_PIPE_DATA_ADDRESS_LO"/>
        <reg32 offset="0x0c35" name="VSC_PIPE_DATA_ADDRESS_HI"/>
+       <reg64 offset="0x0c34" name="VSC_PIPE_DATA_ADDRESS" type="waddress"/>
        <reg32 offset="0x0c36" name="VSC_PIPE_DATA_PITCH"/>
        <reg32 offset="0x0c37" name="VSC_PIPE_DATA_ARRAY_PITCH" shr="4" type="uint"/>
 
@@ -1985,6 +1988,7 @@ to upconvert to 32b float internally?
        </reg32>
        <reg32 offset="0x8103" name="GRAS_LRZ_BUFFER_BASE_LO"/>
        <reg32 offset="0x8104" name="GRAS_LRZ_BUFFER_BASE_HI"/>
+       <reg64 offset="0x8103" name="GRAS_LRZ_BUFFER_BASE" type="waddress"/>
        <reg32 offset="0x8105" name="GRAS_LRZ_BUFFER_PITCH">
                <bitfield name="PITCH" low="0" high="10" shr="5" type="uint"/>
                <bitfield name="ARRAY_PITCH" low="11" high="21" shr="5" type="uint"/> <!-- ??? -->
@@ -2202,6 +2206,9 @@ to upconvert to 32b float internally?
                 -->
                <reg32 offset="0x5" name="BASE_LO"/>
                <reg32 offset="0x6" name="BASE_HI"/>
+
+               <reg64 offset="0x5" name="BASE" type="waddress"/>
+
                <reg32 offset="0x7" name="BASE_GMEM"/>
        </array>
 
@@ -2245,6 +2252,7 @@ to upconvert to 32b float internally?
        </reg32>
        <reg32 offset="0x8875" name="RB_DEPTH_BUFFER_BASE_LO"/>
        <reg32 offset="0x8876" name="RB_DEPTH_BUFFER_BASE_HI"/>
+       <reg64 offset="0x8875" name="RB_DEPTH_BUFFER_BASE" type="waddress"/>
        <reg32 offset="0x8877" name="RB_DEPTH_BUFFER_BASE_GMEM"/>
 
        <!-- always 0x0 ? -->
@@ -2282,6 +2290,7 @@ to upconvert to 32b float internally?
        </reg32>
        <reg32 offset="0x8884" name="RB_STENCIL_BUFFER_BASE_LO"/>
        <reg32 offset="0x8885" name="RB_STENCIL_BUFFER_BASE_HI"/>
+       <reg64 offset="0x8884" name="RB_STENCIL_BUFFER_BASE" type="waddress"/>
        <reg32 offset="0x8886" name="RB_STENCIL_BUFFER_BASE_GMEM"/>
        <reg32 offset="0x8887" name="RB_STENCILREF">
                <bitfield name="REF" low="0" high="7"/>
@@ -2320,11 +2329,13 @@ to upconvert to 32b float internally?
                <bitfield name="COLOR_FORMAT" low="7" high="14" type="a6xx_color_fmt"/>
                <bitfield name="COLOR_SWAP" low="5" high="6" type="a3xx_color_swap"/>
        </reg32>
+       <reg64 offset="0x88d8" name="RB_BLIT_DST" type="waddress"/>
        <reg32 offset="0x88d8" name="RB_BLIT_DST_LO"/>
        <reg32 offset="0x88d9" name="RB_BLIT_DST_HI"/>
        <reg32 offset="0x88da" name="RB_BLIT_DST_PITCH" shr="6" type="uint"/>
        <!-- array-pitch is size of layer -->
        <reg32 offset="0x88db" name="RB_BLIT_DST_ARRAY_PITCH" shr="6" type="uint"/>
+       <reg64 offset="0x88dc" name="RB_BLIT_FLAG_DST" type="waddress"/>
        <reg32 offset="0x88dc" name="RB_BLIT_FLAG_DST_LO"/>
        <reg32 offset="0x88dd" name="RB_BLIT_FLAG_DST_HI"/>
        <reg32 offset="0x88de" name="RB_BLIT_FLAG_DST_PITCH">
@@ -2359,6 +2370,7 @@ to upconvert to 32b float internally?
 
        <reg32 offset="0x8900" name="RB_DEPTH_FLAG_BUFFER_BASE_LO"/>
        <reg32 offset="0x8901" name="RB_DEPTH_FLAG_BUFFER_BASE_HI"/>
+       <reg64 offset="0x8900" name="RB_DEPTH_FLAG_BUFFER_BASE" type="waddress"/>
        <reg32 offset="0x8902" name="RB_DEPTH_FLAG_BUFFER_PITCH">
                <bitfield name="PITCH" low="0" high="10" shr="6" type="uint"/>
                <bitfield name="ARRAY_PITCH" low="11" high="21" shr="7" type="uint"/>
@@ -2366,6 +2378,7 @@ to upconvert to 32b float internally?
        <array offset="0x8903" name="RB_MRT_FLAG_BUFFER" stride="3" length="8">
                <reg32 offset="0" name="ADDR_LO"/>
                <reg32 offset="1" name="ADDR_HI"/>
+               <reg64 offset="0" name="ADDR" type="waddress"/>
                <reg32 offset="2" name="PITCH">
                        <bitfield name="PITCH" low="0" high="10" shr="6" type="uint"/>
                        <bitfield name="ARRAY_PITCH" low="11" high="21" shr="7" type="uint"/> <!-- ??? -->