Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __PXA3XX_GCU_H__
0003 #define __PXA3XX_GCU_H__
0004 
0005 #include <linux/types.h>
0006 
0007 /* Number of 32bit words in display list (ring buffer). */
0008 #define PXA3XX_GCU_BUFFER_WORDS  ((256 * 1024 - 256) / 4)
0009 
0010 /* To be increased when breaking the ABI */
0011 #define PXA3XX_GCU_SHARED_MAGIC  0x30000001
0012 
0013 #define PXA3XX_GCU_BATCH_WORDS   8192
0014 
0015 struct pxa3xx_gcu_shared {
0016     u32            buffer[PXA3XX_GCU_BUFFER_WORDS];
0017 
0018     bool           hw_running;
0019 
0020     unsigned long  buffer_phys;
0021 
0022     unsigned int   num_words;
0023     unsigned int   num_writes;
0024     unsigned int   num_done;
0025     unsigned int   num_interrupts;
0026     unsigned int   num_wait_idle;
0027     unsigned int   num_wait_free;
0028     unsigned int   num_idle;
0029 
0030     u32            magic;
0031 };
0032 
0033 /* Initialization and synchronization.
0034  * Hardware is started upon write(). */
0035 #define PXA3XX_GCU_IOCTL_RESET      _IO('G', 0)
0036 #define PXA3XX_GCU_IOCTL_WAIT_IDLE  _IO('G', 2)
0037 
0038 #endif /* __PXA3XX_GCU_H__ */
0039