/drivers/include/drm/drmP.h |
---|
1485,6 → 1485,7 |
#if 0 |
extern unsigned int drm_vblank_offdelay; |
extern unsigned int drm_timestamp_precision; |
extern unsigned int drm_timestamp_monotonic; |
extern struct class *drm_class; |
extern struct proc_dir_entry *drm_proc_root; |
1652,6 → 1653,8 |
drm_gem_object_unreference_unlocked(obj); |
} |
void drm_gem_free_mmap_offset(struct drm_gem_object *obj); |
int drm_gem_create_mmap_offset(struct drm_gem_object *obj); |
struct drm_gem_object *drm_gem_object_lookup(struct drm_device *dev, |
struct drm_file *filp, |
/drivers/include/drm/drm_crtc.h |
---|
782,6 → 782,7 |
/* output poll support */ |
bool poll_enabled; |
bool poll_running; |
// struct delayed_work output_poll_work; |
/* pointers to standard properties */ |
877,14 → 878,14 |
extern void drm_mode_copy(struct drm_display_mode *dst, const struct drm_display_mode *src); |
extern struct drm_display_mode *drm_mode_duplicate(struct drm_device *dev, |
const struct drm_display_mode *mode); |
extern void drm_mode_debug_printmodeline(struct drm_display_mode *mode); |
extern void drm_mode_debug_printmodeline(const struct drm_display_mode *mode); |
extern void drm_mode_config_init(struct drm_device *dev); |
extern void drm_mode_config_reset(struct drm_device *dev); |
extern void drm_mode_config_cleanup(struct drm_device *dev); |
extern void drm_mode_set_name(struct drm_display_mode *mode); |
extern bool drm_mode_equal(struct drm_display_mode *mode1, struct drm_display_mode *mode2); |
extern int drm_mode_width(struct drm_display_mode *mode); |
extern int drm_mode_height(struct drm_display_mode *mode); |
extern bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2); |
extern int drm_mode_width(const struct drm_display_mode *mode); |
extern int drm_mode_height(const struct drm_display_mode *mode); |
/* for us by fb module */ |
extern int drm_mode_attachmode_crtc(struct drm_device *dev, |
909,12 → 910,6 |
extern void drm_mode_connector_list_update(struct drm_connector *connector); |
extern int drm_mode_connector_update_edid_property(struct drm_connector *connector, |
struct edid *edid); |
extern int drm_connector_property_set_value(struct drm_connector *connector, |
struct drm_property *property, |
uint64_t value); |
extern int drm_connector_property_get_value(struct drm_connector *connector, |
struct drm_property *property, |
uint64_t *value); |
extern int drm_object_property_set_value(struct drm_mode_object *obj, |
struct drm_property *property, |
uint64_t val); |
936,8 → 931,6 |
extern void drm_crtc_probe_connector_modes(struct drm_device *dev, int maxX, int maxY); |
extern bool drm_crtc_in_use(struct drm_crtc *crtc); |
extern void drm_connector_attach_property(struct drm_connector *connector, |
struct drm_property *property, uint64_t init_val); |
extern void drm_object_attach_property(struct drm_mode_object *obj, |
struct drm_property *property, |
uint64_t init_val); |
1027,6 → 1020,7 |
extern int drm_mode_gamma_set_ioctl(struct drm_device *dev, |
void *data, struct drm_file *file_priv); |
extern u8 *drm_find_cea_extension(struct edid *edid); |
extern u8 drm_match_cea_mode(struct drm_display_mode *to_match); |
extern bool drm_detect_hdmi_monitor(struct edid *edid); |
extern bool drm_detect_monitor_audio(struct edid *edid); |
extern int drm_mode_page_flip_ioctl(struct drm_device *dev, |
1043,6 → 1037,7 |
int GTF_2C, int GTF_K, int GTF_2J); |
extern int drm_add_modes_noedid(struct drm_connector *connector, |
int hdisplay, int vdisplay); |
extern uint8_t drm_mode_cea_vic(const struct drm_display_mode *mode); |
extern int drm_edid_header_is_valid(const u8 *raw_edid); |
extern bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid); |
/drivers/include/drm/drm_crtc_helper.h |
---|
137,6 → 137,8 |
extern void drm_helper_connector_dpms(struct drm_connector *connector, int mode); |
extern void drm_helper_move_panel_connectors_to_head(struct drm_device *); |
extern int drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb, |
struct drm_mode_fb_cmd2 *mode_cmd); |
162,6 → 164,7 |
extern void drm_kms_helper_poll_init(struct drm_device *dev); |
extern void drm_kms_helper_poll_fini(struct drm_device *dev); |
extern void drm_helper_hpd_irq_event(struct drm_device *dev); |
extern void drm_kms_helper_hotplug_event(struct drm_device *dev); |
extern void drm_kms_helper_poll_disable(struct drm_device *dev); |
extern void drm_kms_helper_poll_enable(struct drm_device *dev); |
/drivers/include/drm/drm_dp_helper.h |
---|
25,6 → 25,7 |
#include <linux/types.h> |
#include <linux/i2c.h> |
#include <linux/delay.h> |
/* |
* Unless otherwise noted, all values are from the DP 1.1a spec. Note that |
311,6 → 312,14 |
#define MODE_I2C_READ 4 |
#define MODE_I2C_STOP 8 |
/** |
* struct i2c_algo_dp_aux_data - driver interface structure for i2c over dp |
* aux algorithm |
* @running: set by the algo indicating whether an i2c is ongoing or whether |
* the i2c bus is quiescent |
* @address: i2c target address for the currently ongoing transfer |
* @aux_ch: driver callback to transfer a single byte of the i2c payload |
*/ |
struct i2c_algo_dp_aux_data { |
bool running; |
u16 address; |
322,4 → 331,34 |
int |
i2c_dp_aux_add_bus(struct i2c_adapter *adapter); |
#define DP_LINK_STATUS_SIZE 6 |
bool drm_dp_channel_eq_ok(u8 link_status[DP_LINK_STATUS_SIZE], |
int lane_count); |
bool drm_dp_clock_recovery_ok(u8 link_status[DP_LINK_STATUS_SIZE], |
int lane_count); |
u8 drm_dp_get_adjust_request_voltage(u8 link_status[DP_LINK_STATUS_SIZE], |
int lane); |
u8 drm_dp_get_adjust_request_pre_emphasis(u8 link_status[DP_LINK_STATUS_SIZE], |
int lane); |
#define DP_RECEIVER_CAP_SIZE 0xf |
void drm_dp_link_train_clock_recovery_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]); |
void drm_dp_link_train_channel_eq_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]); |
u8 drm_dp_link_rate_to_bw_code(int link_rate); |
int drm_dp_bw_code_to_link_rate(u8 link_bw); |
static inline int |
drm_dp_max_link_rate(u8 dpcd[DP_RECEIVER_CAP_SIZE]) |
{ |
return drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); |
} |
static inline u8 |
drm_dp_max_lane_count(u8 dpcd[DP_RECEIVER_CAP_SIZE]) |
{ |
return dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; |
} |
#endif /* _DRM_DP_HELPER_H_ */ |
/drivers/include/drm/drm_hashtab.h |
---|
61,5 → 61,19 |
extern int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item); |
extern void drm_ht_remove(struct drm_open_hash *ht); |
/* |
* RCU-safe interface |
* |
* The user of this API needs to make sure that two or more instances of the |
* hash table manipulation functions are never run simultaneously. |
* The lookup function drm_ht_find_item_rcu may, however, run simultaneously |
* with any of the manipulation functions as long as it's called from within |
* an RCU read-locked section. |
*/ |
#define drm_ht_insert_item_rcu drm_ht_insert_item |
#define drm_ht_just_insert_please_rcu drm_ht_just_insert_please |
#define drm_ht_remove_key_rcu drm_ht_remove_key |
#define drm_ht_remove_item_rcu drm_ht_remove_item |
#define drm_ht_find_item_rcu drm_ht_find_item |
#endif |
/drivers/include/drm/drm_mm.h |
---|
70,7 → 70,7 |
unsigned long scan_color; |
unsigned long scan_size; |
unsigned long scan_hit_start; |
unsigned scan_hit_size; |
unsigned long scan_hit_end; |
unsigned scanned_blocks; |
unsigned long scan_start; |
unsigned long scan_end; |
158,12 → 158,29 |
return drm_mm_get_block_range_generic(parent, size, alignment, 0, |
start, end, 1); |
} |
extern int drm_mm_insert_node(struct drm_mm *mm, struct drm_mm_node *node, |
unsigned long size, unsigned alignment); |
extern int drm_mm_insert_node(struct drm_mm *mm, |
struct drm_mm_node *node, |
unsigned long size, |
unsigned alignment); |
extern int drm_mm_insert_node_in_range(struct drm_mm *mm, |
struct drm_mm_node *node, |
unsigned long size, unsigned alignment, |
unsigned long start, unsigned long end); |
unsigned long size, |
unsigned alignment, |
unsigned long start, |
unsigned long end); |
extern int drm_mm_insert_node_generic(struct drm_mm *mm, |
struct drm_mm_node *node, |
unsigned long size, |
unsigned alignment, |
unsigned long color); |
extern int drm_mm_insert_node_in_range_generic(struct drm_mm *mm, |
struct drm_mm_node *node, |
unsigned long size, |
unsigned alignment, |
unsigned long color, |
unsigned long start, |
unsigned long end); |
extern void drm_mm_put_block(struct drm_mm_node *cur); |
extern void drm_mm_remove_node(struct drm_mm_node *node); |
extern void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); |
/drivers/include/drm/intel-gtt.h |
---|
5,7 → 5,7 |
struct agp_bridge_data; |
const struct intel_gtt { |
struct intel_gtt { |
/* Size of memory reserved for graphics by the BIOS */ |
unsigned int stolen_size; |
/* Total number of gtt entries. */ |
/drivers/include/linux/i2c.h |
---|
408,4 → 408,7 |
#define I2C_SMBUS_BLOCK_PROC_CALL 7 /* SMBus 2.0 */ |
#define I2C_SMBUS_I2C_BLOCK_DATA 8 |
#define i2c_add_adapter(x) 0 |
#define i2c_del_adapter(x) |
#endif /* _LINUX_I2C_H */ |
/drivers/include/linux/wait.h |
---|
1,6 → 1,8 |
#ifndef _LINUX_WAIT_H |
#define _LINUX_WAIT_H |
#include <syscall.h> |
typedef struct __wait_queue wait_queue_t; |
typedef struct __wait_queue_head wait_queue_head_t; |
68,6 → 70,8 |
__ret; \ |
}) |
#define wait_event_interruptible_timeout(wq, condition, timeout) \ |
wait_event_timeout(wq, condition, timeout) |
#define wait_event(wq, condition) \ |