Ejemplo n.º 1
0
static void check_workarounds(enum operation op)
{
    igt_assert_eq(workaround_fail_count(), 0);

    switch (op) {
    case GPU_RESET:
        test_hang_gpu();
        break;

    case SUSPEND_RESUME:
        test_suspend_resume();
        break;

    case SIMPLE_READ:
        return;

    default:
        igt_assert(0);
    }

    igt_assert_eq(workaround_fail_count(), 0);
}
Ejemplo n.º 2
0
/******************************************
* deal with event from usb_if_test UI, do usb_if_test thing 
*
******************************************/
RET_CODE  usb_test_ui_event_ex(IfEvtMsg_t  ui_event_msg)
{
	unsigned long i;
	volatile unsigned long j;
	UINT32 base_addr = 0xb800F000;
	UINT32 vid = ui_event_msg.vid ,
		    pid = ui_event_msg.pid ,
		    port_id = ui_event_msg.port_id ;
	
	USB_LOGO_PRINTF("USB IF test mode...\n");
	USB_LOGO_PRINTF("VID:0x%04x PID:0x%04x\n",vid,pid);
	//usb_if_test_info_show(vid,pid);
	
	if (sys_ic_is_M3202())//(sys_ic_get_chip_id() == ALI_M3202)
		base_addr = HC_M3202_BASE_ADDR;
	else if( (sys_ic_get_chip_id() == ALI_M3329E)&&(sys_ic_get_rev_id()>=IC_REV_5))
		base_addr = HC_S3329E5_BASE_ADDR;
	else if ((sys_ic_get_chip_id() == ALI_M3329E)&&(sys_ic_get_rev_id()<IC_REV_5))
		base_addr = HC_S3329E_BASE_ADDR;
	else  if (sys_ic_get_chip_id() == ALI_S3602)
		base_addr = HC_S3602_BASE_ADDR;
	else  if (sys_ic_get_chip_id() == ALI_S3602F)
	{
		if(s3602f_test_port == IF_FRONT_PROT)
			base_addr = HC_S3602F_BASE_ADDR;
		else if(s3602f_test_port == IF_REAR_PROT)
			base_addr = HC_S3602F_BASE_ADDR1;
	}
	else
		return !RET_SUCCESS; // usb invalid chip id
	 
//	usb_hw_init(base_addr);
	//disable int
	*((volatile unsigned char *)(base_addr+0x1E))= 0x00;
	*((volatile unsigned char *)(base_addr+0x1F))= 0x00;
	*((volatile unsigned char *)(base_addr+0x62))= 0xFF;
	//TX_DRIVING +10%
	if ((sys_ic_get_chip_id() == ALI_M3329E)&&(sys_ic_get_rev_id()<IC_REV_5))
	{
		*((volatile unsigned char *)0xb800007C) = 0x03;	//USB_PLL_SEL: DISC_SEL/PD_HS/PD_FS/PD_PLL . SQUELCH_LEVEL -/TX_DRIVING -
	}
	if (sys_ic_get_chip_id() == ALI_S3602F)
 	{
		*((volatile unsigned char *)(base_addr+0xF1))= 0x79;	//UTMI_REGCTL[15:12] Squelch Level Control, UTMI_REGCTL[11:10]	TX Driving Current Control, UTMI_REGCTL[9]	Slew Rate control for TX.
		*((volatile unsigned char *)(base_addr+0xF0))= 0x14;	//Bit 8-6: Reserved Bit 5: Turn OFF MOS NC in PLL's CHPUP  UTMI_REGCTL[4:2]	PLL Loop filter control  UTMI_REGCTL[1:0]	PLL Charge Pump selection
 	}
	 switch(pid)
	 {
		case PID_test_se0:
			usb_if_test_flag = IF_TEST_SE0;
			USB_LOGO_PRINTF("Test SE0_NAK...\n");
			//Test SE-> 
			if (sys_ic_get_chip_id() == ALI_S3602F)
				*((volatile unsigned char *)(base_addr))= 0x20;
			*((volatile unsigned char *)(base_addr+0x3b))= 0x04;
			*((volatile unsigned char *)(base_addr+0x33))= 0x48;
			for(i=0;i<0xFFFF;i++) j=i;
			*((volatile unsigned char *)(base_addr+0x33))= 0x40;
			*((volatile unsigned char *)(base_addr+0x3F))= 0x44;
			break;
		case PID_test_J:
			usb_if_test_flag = IF_TEST_J;
			USB_LOGO_PRINTF("Test J...\n");
			//Test J->
			if (sys_ic_get_chip_id() == ALI_S3602F)
				*((volatile unsigned char *)(base_addr))= 0x20;
			*((volatile unsigned char *)(base_addr+0x3b))= 0x04;
			*((volatile unsigned char *)(base_addr+0x33))= 0x48;
			for(i=0;i<0xFFFF;i++) j=i;
			*((volatile unsigned char *)(base_addr+0x33))= 0x40;
			*((volatile unsigned char *)(base_addr+0x3F))= 0x41;
			break;
		case PID_test_K:
			usb_if_test_flag = IF_TEST_K;
			USB_LOGO_PRINTF("Test K...\n");
			//Test K->
			if (sys_ic_get_chip_id() == ALI_S3602F)
				*((volatile unsigned char *)(base_addr))= 0x20;
			*((volatile unsigned char *)(base_addr+0x3b))=0x04;
			*((volatile unsigned char *)(base_addr+0x33))= 0x48;
			for(i=0;i<0xFFFF;i++) j=i;
			*((volatile unsigned char *)(base_addr+0x33))= 0x40;
			*((volatile unsigned char *)(base_addr+0x3F))= 0x42;
			break;
		case PID_test_packet:
			usb_if_test_flag = IF_TEST_PACKET;
			USB_LOGO_PRINTF("Test Packet...\n");
			//Test Packet->
			if (sys_ic_get_chip_id() == ALI_S3602F)
				*((volatile unsigned char *)(base_addr))= 0x20;
			*((volatile unsigned char *)(base_addr+0x3b))= 0x04;
			*((volatile unsigned char *)(base_addr+0x33))= 0x48;
			for(i=0;i<0xFFFF;i++) j=i;
			*((volatile unsigned char *)(base_addr+0x33))= 0x40;
			*((volatile unsigned char *)(base_addr+0x3F))= 0x48;
			break;
		case PID_test_suspend:
			usb_if_test_flag = IF_TEST_SUSPEND;
			USB_LOGO_PRINTF("TEST_HS_HOST_PORT_SUSPEND_RESUME...\n");
			if ((sys_ic_get_chip_id() == ALI_M3329E)&&(sys_ic_get_rev_id()<IC_REV_5))
				*((volatile unsigned char *)0xb800007C) = 0x00;	//USB_PLL_SEL: DISC_SEL/PD_HS/PD_FS/PD_PLL . SQUELCH_LEVEL -/TX_DRIVING -
			test_suspend_resume(base_addr);
			break;
		case PID_test_get_desc:
			usb_if_test_flag = IF_TEST_GET_DESC;
			USB_LOGO_PRINTF("TEST_SINGLE_STEP_GET_DEVIC_DESCRIPTOR...\n");
			test_step_get_desc(base_addr);
			break;
		case PID_test_get_desc_data:
			usb_if_test_flag = IF_TEST_GET_DESC_DATA;
			USB_LOGO_PRINTF("TEST_SINGLE_STEP_GET_DEVIC_DESCRIPTOR_DATA...\n");
			test_step_get_desc_data(base_addr);
			break;
		case PID_test_bus_enumeration:
			usb_if_test_flag = IF_TEST_GET_DESC_DATA;
			USB_LOGO_PRINTF("test_bus_enumeration...\n");
			//usb_test_bus_enum();
			osal_task_sleep(2000);
			USB_LOGO_PRINTF("test_bus_enumeration...\n");
			//usb_test_bus_enum();
			osal_task_sleep(2000);
			USB_LOGO_PRINTF("test_bus_enumeration...\n");
			//usb_test_bus_enum();
			break;
		default:
			USB_LOGO_PRINTF("PID err VID:0x%04x PID:0x%04x\n",vid,pid);
			break;
	 }
	 return RET_SUCCESS;	
}