https://github.com/torvalds/linux
Raw File
Tip revision: 0b07194bb55ed836c2cc7c22e866b87a14681984 authored by Linus Torvalds on 29 October 2017, 20:58:38 UTC
Linux 4.14-rc7
Tip revision: 0b07194
ddk750_dvi.c
#define USE_DVICHIP
#ifdef USE_DVICHIP
#include "ddk750_chip.h"
#include "ddk750_reg.h"
#include "ddk750_dvi.h"
#include "ddk750_sii164.h"

/*
 * This global variable contains all the supported driver and its corresponding
 * function API. Please set the function pointer to NULL whenever the function
 * is not supported.
 */
static dvi_ctrl_device_t g_dcftSupportedDviController[] = {
#ifdef DVI_CTRL_SII164
	{
		.pfnInit = sii164InitChip,
		.pfnGetVendorId = sii164GetVendorID,
		.pfnGetDeviceId = sii164GetDeviceID,
#ifdef SII164_FULL_FUNCTIONS
		.pfnResetChip = sii164ResetChip,
		.pfnGetChipString = sii164GetChipString,
		.pfnSetPower = sii164SetPower,
		.pfnEnableHotPlugDetection = sii164EnableHotPlugDetection,
		.pfnIsConnected = sii164IsConnected,
		.pfnCheckInterrupt = sii164CheckInterrupt,
		.pfnClearInterrupt = sii164ClearInterrupt,
#endif
	},
#endif
};

int dviInit(unsigned char edgeSelect,
	    unsigned char busSelect,
	    unsigned char dualEdgeClkSelect,
	    unsigned char hsyncEnable,
	    unsigned char vsyncEnable,
	    unsigned char deskewEnable,
	    unsigned char deskewSetting,
	    unsigned char continuousSyncEnable,
	    unsigned char pllFilterEnable,
	    unsigned char pllFilterValue)
{
	dvi_ctrl_device_t *pCurrentDviCtrl;

	pCurrentDviCtrl = g_dcftSupportedDviController;
	if (pCurrentDviCtrl->pfnInit) {
		return pCurrentDviCtrl->pfnInit(edgeSelect,
						busSelect,
						dualEdgeClkSelect,
						hsyncEnable,
						vsyncEnable,
						deskewEnable,
						deskewSetting,
						continuousSyncEnable,
						pllFilterEnable,
						pllFilterValue);
	}
	return -1; /* error */
}

#endif
back to top