feat: update gpu to Linux_SDK_V1.2.1

This version update involves a lot of content, so the previous version
has been deleted and the new version has been re-merged into the kernel.

The configuration file for the GPU driver originates from a previous
version.

Signed-off-by: Mingzheng Xing <xingmingzheng@iscas.ac.cn>
This commit is contained in:
Mingzheng Xing
2023-08-30 21:19:50 +08:00
committed by Han Gao
parent 807db9d981
commit f72e7cd077
250 changed files with 10635 additions and 7697 deletions

View File

@@ -43,11 +43,43 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#ifndef MODULE_COMMON_H
#define MODULE_COMMON_H
#include "pvr_drm.h"
/* DRVNAME is the name we use to register our driver. */
#define DRVNAME PVR_LDM_DRIVER_REGISTRATION_NAME
struct _PVRSRV_DEVICE_NODE_;
struct drm_file;
struct drm_device;
/* psDRMFile->driver_priv will point to a PVRSV_CONNECTION_PRIV
* struct, which will contain a ptr to the CONNECTION_DATA and
* a pfn to the release function (which will differ depending
* on whether the connection is to Sync or Services).
*/
typedef void (*PFN_PVRSRV_DEV_RELEASE)(void *pvData);
typedef struct
{
/* pvConnectionData is used to hold Services connection data
* for all PVRSRV_DEVICE_INIT_MODE options.
*/
void *pvConnectionData;
/* pfDeviceRelease is used to indicate the release function
* to be called when PVRSRV_DEVICE_INIT_MODE is PVRSRV_LINUX_DEV_INIT_ON_CONNECT,
* as we can then have one connections made (either for Services or Sync) per
* psDRMFile, and need to know which type of connection is being released
* (as the ioctl release call is common for both).
*/
PFN_PVRSRV_DEV_RELEASE pfDeviceRelease;
/* pvSyncConnectionData is used to hold Sync connection data
* when PVRSRV_DEVICE_INIT_MODE is not PVRSRV_LINUX_DEV_INIT_ON_CONNECT,
* as we can then have two connections made (for Services and Sync) to
* the same psDRMFile.
*/
void *pvSyncConnectionData;
} PVRSRV_CONNECTION_PRIV;
int PVRSRVDriverInit(void);
void PVRSRVDriverDeinit(void);
@@ -59,9 +91,11 @@ void PVRSRVDeviceShutdown(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode);
int PVRSRVDeviceSuspend(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode);
int PVRSRVDeviceResume(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode);
int PVRSRVDeviceOpen(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode,
struct drm_file *psDRMFile);
int PVRSRVDeviceServicesOpen(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode,
struct drm_file *psDRMFile);
void PVRSRVDeviceRelease(struct _PVRSRV_DEVICE_NODE_ *psDeviceNode,
struct drm_file *psDRMFile);
struct drm_file *psDRMFile);
int drm_pvr_srvkm_init(struct drm_device *dev,
void *arg, struct drm_file *psDRMFile);
#endif /* MODULE_COMMON_H */