Re: [Intel-gfx] [PATCH v6 6/7] efifb: Set info->fbcon_rotate_hint based on drm_get_panel_orientation_quirk
Hi Hans, I love your patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.15-rc1 next-20171128] [cannot apply to linus/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hans-de-Goede/drm-fbdev-Panel-orientation-connector-property-support/20171129-001142 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: x86_64-kexec (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/video/fbdev/efifb.c: In function 'efifb_probe': >> drivers/video/fbdev/efifb.c:339:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP' undeclared (first use in this >> function); did you mean 'DRM_MODE_PRESENT_BOTTOM_FIELD'? case DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP: ^~~~ DRM_MODE_PRESENT_BOTTOM_FIELD drivers/video/fbdev/efifb.c:339:7: note: each undeclared identifier is reported only once for each function it appears in >> drivers/video/fbdev/efifb.c:342:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_LEFT_UP' undeclared (first use in this >> function); did you mean 'DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP'? case DRM_MODE_PANEL_ORIENTATION_LEFT_UP: ^~ DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP >> drivers/video/fbdev/efifb.c:345:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_RIGHT_UP' undeclared (first use in this >> function); did you mean 'DRM_MODE_PANEL_ORIENTATION_LEFT_UP'? case DRM_MODE_PANEL_ORIENTATION_RIGHT_UP: ^~~ DRM_MODE_PANEL_ORIENTATION_LEFT_UP vim +339 drivers/video/fbdev/efifb.c 157 158 static int efifb_probe(struct platform_device *dev) 159 { 160 struct fb_info *info; 161 int err, orientation; 162 unsigned int size_vmode; 163 unsigned int size_remap; 164 unsigned int size_total; 165 char *option = NULL; 166 167 if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI || pci_dev_disabled) 168 return -ENODEV; 169 170 if (fb_get_options("efifb", )) 171 return -ENODEV; 172 efifb_setup(option); 173 174 /* We don't get linelength from UGA Draw Protocol, only from 175 * EFI Graphics Protocol. So if it's not in DMI, and it's not 176 * passed in from the user, we really can't use the framebuffer. 177 */ 178 if (!screen_info.lfb_linelength) 179 return -ENODEV; 180 181 if (!screen_info.lfb_depth) 182 screen_info.lfb_depth = 32; 183 if (!screen_info.pages) 184 screen_info.pages = 1; 185 if (!fb_base_is_valid()) { 186 printk(KERN_DEBUG "efifb: invalid framebuffer address\n"); 187 return -ENODEV; 188 } 189 printk(KERN_INFO "efifb: probing for efifb\n"); 190 191 /* just assume they're all unset if any are */ 192 if (!screen_info.blue_size) { 193 screen_info.blue_size = 8; 194 screen_info.blue_pos = 0; 195 screen_info.green_size = 8; 196 screen_info.green_pos = 8; 197 screen_info.red_size = 8; 198 screen_info.red_pos = 16; 199 screen_info.rsvd_size = 8; 200 screen_info.rsvd_pos = 24; 201 } 202 203 efifb_fix.smem_start = screen_info.lfb_base; 204 205 if (screen_info.capabilities & VIDEO_CAPABILITY_64BIT_BASE) { 206 u64 ext_lfb_base; 207 208 ext_lfb_base = (u64)(unsigned long)screen_info.ext_lfb_base << 32; 209 efifb_fix.smem_start |= ext_lfb_base; 210 } 211 212 if (bar_resource && 213 bar_resource->start + bar_offset != efifb_fix.smem_start) { 214 dev_info(_pci_dev->dev, 215 "BAR has moved, updating efifb address\n"); 216 efifb_fix.smem_start = bar_resource->start + bar_offset; 217 } 218 219 efifb_defined.bits_per_pixel = screen_info.lfb_depth; 220 efifb_defined.xres = screen_info.lfb_width; 221 efifb_defined.yres = screen_info.lfb_height; 222 efifb_fix.line_length = screen_info.lfb_linelength; 223 224 /* size_vmode -- that is the amount of memory needed for the 225 * used video mode, i.e. the minimum amount of 226 *
Re: [Intel-gfx] [PATCH v6 6/7] efifb: Set info->fbcon_rotate_hint based on drm_get_panel_orientation_quirk
Hi Hans, I love your patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.15-rc1 next-20171128] [cannot apply to linus/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hans-de-Goede/drm-fbdev-Panel-orientation-connector-property-support/20171129-001142 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: x86_64-randconfig-s1-11282357 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/video/fbdev/efifb.c: In function 'efifb_probe': drivers/video/fbdev/efifb.c:339:7: error: 'DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP' undeclared (first use in this function) case DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP: ^~~~ drivers/video/fbdev/efifb.c:339:7: note: each undeclared identifier is reported only once for each function it appears in >> drivers/video/fbdev/efifb.c:342:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_LEFT_UP' undeclared (first use in this function) case DRM_MODE_PANEL_ORIENTATION_LEFT_UP: ^~ >> drivers/video/fbdev/efifb.c:345:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_RIGHT_UP' undeclared (first use in this function) case DRM_MODE_PANEL_ORIENTATION_RIGHT_UP: ^~~ vim +/DRM_MODE_PANEL_ORIENTATION_LEFT_UP +342 drivers/video/fbdev/efifb.c 157 158 static int efifb_probe(struct platform_device *dev) 159 { 160 struct fb_info *info; 161 int err, orientation; 162 unsigned int size_vmode; 163 unsigned int size_remap; 164 unsigned int size_total; 165 char *option = NULL; 166 167 if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI || pci_dev_disabled) 168 return -ENODEV; 169 170 if (fb_get_options("efifb", )) 171 return -ENODEV; 172 efifb_setup(option); 173 174 /* We don't get linelength from UGA Draw Protocol, only from 175 * EFI Graphics Protocol. So if it's not in DMI, and it's not 176 * passed in from the user, we really can't use the framebuffer. 177 */ 178 if (!screen_info.lfb_linelength) 179 return -ENODEV; 180 181 if (!screen_info.lfb_depth) 182 screen_info.lfb_depth = 32; 183 if (!screen_info.pages) 184 screen_info.pages = 1; 185 if (!fb_base_is_valid()) { 186 printk(KERN_DEBUG "efifb: invalid framebuffer address\n"); 187 return -ENODEV; 188 } 189 printk(KERN_INFO "efifb: probing for efifb\n"); 190 191 /* just assume they're all unset if any are */ 192 if (!screen_info.blue_size) { 193 screen_info.blue_size = 8; 194 screen_info.blue_pos = 0; 195 screen_info.green_size = 8; 196 screen_info.green_pos = 8; 197 screen_info.red_size = 8; 198 screen_info.red_pos = 16; 199 screen_info.rsvd_size = 8; 200 screen_info.rsvd_pos = 24; 201 } 202 203 efifb_fix.smem_start = screen_info.lfb_base; 204 205 if (screen_info.capabilities & VIDEO_CAPABILITY_64BIT_BASE) { 206 u64 ext_lfb_base; 207 208 ext_lfb_base = (u64)(unsigned long)screen_info.ext_lfb_base << 32; 209 efifb_fix.smem_start |= ext_lfb_base; 210 } 211 212 if (bar_resource && 213 bar_resource->start + bar_offset != efifb_fix.smem_start) { 214 dev_info(_pci_dev->dev, 215 "BAR has moved, updating efifb address\n"); 216 efifb_fix.smem_start = bar_resource->start + bar_offset; 217 } 218 219 efifb_defined.bits_per_pixel = screen_info.lfb_depth; 220 efifb_defined.xres = screen_info.lfb_width; 221 efifb_defined.yres = screen_info.lfb_height; 222 efifb_fix.line_length = screen_info.lfb_linelength; 223 224 /* size_vmode -- that is the amount of memory needed for the 225 * used video mode, i.e. the minimum amount of 226 * memory we need. */ 227 size_vmode = efifb_defined.yres * efifb_fix.line_length; 228 229 /* size_total -- all video memory we have. Used for 230 * entries, ressource allocation
Re: [Intel-gfx] [PATCH v6 6/7] efifb: Set info->fbcon_rotate_hint based on drm_get_panel_orientation_quirk
Hi Hans, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.15-rc1 next-20171128] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hans-de-Goede/drm-fbdev-Panel-orientation-connector-property-support/20171128-225025 config: i386-randconfig-x003-201748 (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/video/fbdev/efifb.c: In function 'efifb_probe': >> drivers/video/fbdev/efifb.c:340:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP' undeclared (first use in this >> function); did you mean 'DRM_MODE_PRESENT_BOTTOM_FIELD'? case DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP: ^~~~ DRM_MODE_PRESENT_BOTTOM_FIELD drivers/video/fbdev/efifb.c:340:7: note: each undeclared identifier is reported only once for each function it appears in >> drivers/video/fbdev/efifb.c:343:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_LEFT_UP' undeclared (first use in this >> function); did you mean 'DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP'? case DRM_MODE_PANEL_ORIENTATION_LEFT_UP: ^~ DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP >> drivers/video/fbdev/efifb.c:346:7: error: >> 'DRM_MODE_PANEL_ORIENTATION_RIGHT_UP' undeclared (first use in this >> function); did you mean 'DRM_MODE_PANEL_ORIENTATION_LEFT_UP'? case DRM_MODE_PANEL_ORIENTATION_RIGHT_UP: ^~~ DRM_MODE_PANEL_ORIENTATION_LEFT_UP vim +340 drivers/video/fbdev/efifb.c 158 159 static int efifb_probe(struct platform_device *dev) 160 { 161 struct fb_info *info; 162 int err, orientation; 163 unsigned int size_vmode; 164 unsigned int size_remap; 165 unsigned int size_total; 166 char *option = NULL; 167 168 if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI || pci_dev_disabled) 169 return -ENODEV; 170 171 if (fb_get_options("efifb", )) 172 return -ENODEV; 173 efifb_setup(option); 174 175 /* We don't get linelength from UGA Draw Protocol, only from 176 * EFI Graphics Protocol. So if it's not in DMI, and it's not 177 * passed in from the user, we really can't use the framebuffer. 178 */ 179 if (!screen_info.lfb_linelength) 180 return -ENODEV; 181 182 if (!screen_info.lfb_depth) 183 screen_info.lfb_depth = 32; 184 if (!screen_info.pages) 185 screen_info.pages = 1; 186 if (!fb_base_is_valid()) { 187 printk(KERN_DEBUG "efifb: invalid framebuffer address\n"); 188 return -ENODEV; 189 } 190 printk(KERN_INFO "efifb: probing for efifb\n"); 191 192 /* just assume they're all unset if any are */ 193 if (!screen_info.blue_size) { 194 screen_info.blue_size = 8; 195 screen_info.blue_pos = 0; 196 screen_info.green_size = 8; 197 screen_info.green_pos = 8; 198 screen_info.red_size = 8; 199 screen_info.red_pos = 16; 200 screen_info.rsvd_size = 8; 201 screen_info.rsvd_pos = 24; 202 } 203 204 efifb_fix.smem_start = screen_info.lfb_base; 205 206 if (screen_info.capabilities & VIDEO_CAPABILITY_64BIT_BASE) { 207 u64 ext_lfb_base; 208 209 ext_lfb_base = (u64)(unsigned long)screen_info.ext_lfb_base << 32; 210 efifb_fix.smem_start |= ext_lfb_base; 211 } 212 213 if (bar_resource && 214 bar_resource->start + bar_offset != efifb_fix.smem_start) { 215 dev_info(_pci_dev->dev, 216 "BAR has moved, updating efifb address\n"); 217 efifb_fix.smem_start = bar_resource->start + bar_offset; 218 } 219 220 efifb_defined.bits_per_pixel = screen_info.lfb_depth; 221 efifb_defined.xres = screen_info.lfb_width; 222 efifb_defined.yres = screen_info.lfb_height; 223 efifb_fix.line_length = screen_info.lfb_linelength; 224 225 /* size_vmode -- that is the amount of memory needed for the 226 * used video mode, i.e. the minimum amount of 227 * memory we need. */ 228 size_vmode = efifb_defined.yres *