blob: 43fc0c5441eedc312fc3698596f7d62f8181a237 [file] [log] [blame]
/* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __ARCH_ARM_MACH_MSM_REQS_H
#define __ARCH_ARM_MACH_MSM_REQS_H
#include <linux/kernel.h>
enum system_bus_flow_ids {
MSM_AXI_FLOW_INVALID = 0,
MSM_AXI_FLOW_APPLICATION_LOW,
MSM_AXI_FLOW_APPLICATION_MED,
MSM_AXI_FLOW_APPLICATION_HI,
MSM_AXI_FLOW_APPLICATION_MAX,
MSM_AXI_FLOW_VIDEO_PLAYBACK_LOW,
MSM_AXI_FLOW_VIDEO_PLAYBACK_MED,
MSM_AXI_FLOW_VIDEO_PLAYBACK_HI,
MSM_AXI_FLOW_VIDEO_PLAYBACK_MAX,
MSM_AXI_FLOW_VIDEO_RECORD_LOW,
MSM_AXI_FLOW_VIDEO_RECORD_MED,
MSM_AXI_FLOW_VIDEO_RECORD_HI,
MSM_AXI_FLOW_GRAPHICS_LOW,
MSM_AXI_FLOW_GRAPHICS_MED,
MSM_AXI_FLOW_GRAPHICS_HI,
MSM_AXI_FLOW_VIEWFINDER_LOW,
MSM_AXI_FLOW_VIEWFINDER_MED,
MSM_AXI_FLOW_VIEWFINDER_HI,
MSM_AXI_FLOW_LAPTOP_DATA_CALL,
MSM_AXI_FLOW_APPLICATION_DATA_CALL,
MSM_AXI_FLOW_GPS,
MSM_AXI_FLOW_TV_OUT_LOW,
MSM_AXI_FLOW_TV_OUT_MED,
MSM_AXI_FLOW_ILCDC_WVGA,
MSM_AXI_FLOW_VOYAGER_DEFAULT,
MSM_AXI_FLOW_2D_GPU_HIGH,
MSM_AXI_FLOW_3D_GPU_HIGH,
MSM_AXI_FLOW_CAMERA_PREVIEW_HIGH,
MSM_AXI_FLOW_CAMERA_SNAPSHOT_12MP,
MSM_AXI_FLOW_CAMERA_RECORDING_720P,
MSM_AXI_FLOW_JPEG_12MP,
MSM_AXI_FLOW_MDP_LCDC_WVGA_2BPP,
MSM_AXI_FLOW_MDP_MDDI_WVGA_2BPP,
MSM_AXI_FLOW_MDP_DTV_720P_2BPP,
MSM_AXI_FLOW_VIDEO_RECORDING_720P,
MSM_AXI_FLOW_VIDEO_PLAYBACK_720P,
MSM_AXI_FLOW_MDP_TVENC_720P_2BPP,
MSM_AXI_FLOW_VIDEO_PLAYBACK_WVGA,
MSM_AXI_FLOW_VIDEO_PLAYBACK_QVGA,
MSM_AXI_FLOW_VIDEO_RECORDING_QVGA,
MSM_AXI_NUM_FLOWS,
};
#define MSM_REQ_DEFAULT_VALUE 0
/**
* msm_req_add - Creates an NPA request and returns a handle. Non-blocking.
* @req_name: Name of the request
* @res_name: Name of the NPA resource the request is for
*/
void *msm_req_add(char *res_name, char *client_name);
/**
* msm_req_update - Updates an existing NPA request. May block.
* @req: Request handle
* @value: Request value
*/
int msm_req_update(void *req, s32 value);
/**
* msm_req_remove - Removes an existing NPA request. May block.
* @req: Request handle
*/
int msm_req_remove(void *req);
#endif /* __ARCH_ARM_MACH_MSM_REQS_H */