mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
drm/radeon: Move radeon_align_pitch() next to dumb-buffer helpers
Move radeon_align_pitch() next to its caller in the dumb-buffer code. Removes the only dependency on the radeon's fbdev source file that is not related to fbdev emulation. No functional changes. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
120ceaf78e
commit
f04b8af5e9
|
|
@ -530,6 +530,8 @@ struct radeon_gem {
|
|||
|
||||
extern const struct drm_gem_object_funcs radeon_gem_object_funcs;
|
||||
|
||||
int radeon_align_pitch(struct radeon_device *rdev, int width, int cpp, bool tiled);
|
||||
|
||||
int radeon_gem_init(struct radeon_device *rdev);
|
||||
void radeon_gem_fini(struct radeon_device *rdev);
|
||||
int radeon_gem_object_create(struct radeon_device *rdev, unsigned long size,
|
||||
|
|
|
|||
|
|
@ -87,31 +87,6 @@ static const struct fb_ops radeonfb_ops = {
|
|||
.fb_imageblit = drm_fb_helper_cfb_imageblit,
|
||||
};
|
||||
|
||||
|
||||
int radeon_align_pitch(struct radeon_device *rdev, int width, int cpp, bool tiled)
|
||||
{
|
||||
int aligned = width;
|
||||
int align_large = (ASIC_IS_AVIVO(rdev)) || tiled;
|
||||
int pitch_mask = 0;
|
||||
|
||||
switch (cpp) {
|
||||
case 1:
|
||||
pitch_mask = align_large ? 255 : 127;
|
||||
break;
|
||||
case 2:
|
||||
pitch_mask = align_large ? 127 : 31;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
pitch_mask = align_large ? 63 : 15;
|
||||
break;
|
||||
}
|
||||
|
||||
aligned += pitch_mask;
|
||||
aligned &= ~pitch_mask;
|
||||
return aligned * cpp;
|
||||
}
|
||||
|
||||
static void radeonfb_destroy_pinned_object(struct drm_gem_object *gobj)
|
||||
{
|
||||
struct radeon_bo *rbo = gem_to_radeon_bo(gobj);
|
||||
|
|
|
|||
|
|
@ -822,6 +822,30 @@ int radeon_gem_op_ioctl(struct drm_device *dev, void *data,
|
|||
return r;
|
||||
}
|
||||
|
||||
int radeon_align_pitch(struct radeon_device *rdev, int width, int cpp, bool tiled)
|
||||
{
|
||||
int aligned = width;
|
||||
int align_large = (ASIC_IS_AVIVO(rdev)) || tiled;
|
||||
int pitch_mask = 0;
|
||||
|
||||
switch (cpp) {
|
||||
case 1:
|
||||
pitch_mask = align_large ? 255 : 127;
|
||||
break;
|
||||
case 2:
|
||||
pitch_mask = align_large ? 127 : 31;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
pitch_mask = align_large ? 63 : 15;
|
||||
break;
|
||||
}
|
||||
|
||||
aligned += pitch_mask;
|
||||
aligned &= ~pitch_mask;
|
||||
return aligned * cpp;
|
||||
}
|
||||
|
||||
int radeon_mode_dumb_create(struct drm_file *file_priv,
|
||||
struct drm_device *dev,
|
||||
struct drm_mode_create_dumb *args)
|
||||
|
|
|
|||
|
|
@ -952,8 +952,6 @@ void radeon_crtc_handle_vblank(struct radeon_device *rdev, int crtc_id);
|
|||
|
||||
void radeon_crtc_handle_flip(struct radeon_device *rdev, int crtc_id);
|
||||
|
||||
int radeon_align_pitch(struct radeon_device *rdev, int width, int bpp, bool tiled);
|
||||
|
||||
int radeon_atom_pick_dig_encoder(struct drm_encoder *encoder, int fe_idx);
|
||||
void radeon_atom_release_dig_encoder(struct radeon_device *rdev, int enc_idx);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user