Subversion Repositories Kolibri OS

Rev

Rev 5270 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5270 Rev 6082
Line 213... Line 213...
213
#define DRM_ELD_HEADER_BLOCK_SIZE	4
213
#define DRM_ELD_HEADER_BLOCK_SIZE	4
Line 214... Line 214...
214
 
214
 
215
#define DRM_ELD_VER			0
215
#define DRM_ELD_VER			0
216
# define DRM_ELD_VER_SHIFT		3
216
# define DRM_ELD_VER_SHIFT		3
-
 
217
# define DRM_ELD_VER_MASK		(0x1f << 3)
-
 
218
# define DRM_ELD_VER_CEA861D		(2 << 3) /* supports 861D or below */
Line 217... Line 219...
217
# define DRM_ELD_VER_MASK		(0x1f << 3)
219
# define DRM_ELD_VER_CANNED		(0x1f << 3)
Line 218... Line 220...
218
 
220
 
219
#define DRM_ELD_BASELINE_ELD_LEN	2	/* in dwords! */
221
#define DRM_ELD_BASELINE_ELD_LEN	2	/* in dwords! */
Line 322... Line 324...
322
 
324
 
323
void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid);
325
void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid);
324
int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads);
326
int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads);
325
int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb);
327
int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb);
326
int drm_av_sync_delay(struct drm_connector *connector,
328
int drm_av_sync_delay(struct drm_connector *connector,
327
		      struct drm_display_mode *mode);
329
		      const struct drm_display_mode *mode);
328
struct drm_connector *drm_select_eld(struct drm_encoder *encoder,
-
 
329
				     struct drm_display_mode *mode);
330
struct drm_connector *drm_select_eld(struct drm_encoder *encoder);
Line 330... Line 331...
330
int drm_load_edid_firmware(struct drm_connector *connector);
331
int drm_load_edid_firmware(struct drm_connector *connector);
331
 
332
 
332
int
333
int
Line 344... Line 345...
344
{
345
{
345
	return (eld[DRM_ELD_CEA_EDID_VER_MNL] & DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT;
346
	return (eld[DRM_ELD_CEA_EDID_VER_MNL] & DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT;
346
}
347
}
Line 347... Line 348...
347
 
348
 
-
 
349
/**
-
 
350
 * drm_eld_sad - Get ELD SAD structures.
-
 
351
 * @eld: pointer to an eld memory structure with sad_count set
-
 
352
 */
-
 
353
static inline const uint8_t *drm_eld_sad(const uint8_t *eld)
-
 
354
{
-
 
355
	unsigned int ver, mnl;
-
 
356
 
-
 
357
	ver = (eld[DRM_ELD_VER] & DRM_ELD_VER_MASK) >> DRM_ELD_VER_SHIFT;
-
 
358
	if (ver != 2 && ver != 31)
-
 
359
		return NULL;
-
 
360
 
-
 
361
	mnl = drm_eld_mnl(eld);
-
 
362
	if (mnl > 16)
-
 
363
		return NULL;
-
 
364
 
-
 
365
	return eld + DRM_ELD_CEA_SAD(mnl, 0);
-
 
366
}
-
 
367
 
348
/**
368
/**
349
 * drm_eld_sad_count - Get ELD SAD count.
369
 * drm_eld_sad_count - Get ELD SAD count.
350
 * @eld: pointer to an eld memory structure with sad_count set
370
 * @eld: pointer to an eld memory structure with sad_count set
351
 */
371
 */
352
static inline int drm_eld_sad_count(const uint8_t *eld)
372
static inline int drm_eld_sad_count(const uint8_t *eld)