Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb80cbee authored by Len Brown's avatar Len Brown
Browse files

Merge ../from-linus

parents b857c730 3edea483
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -628,7 +628,7 @@ fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var)
int
fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
{
	int err;
	int err, flags = info->flags;

	if (var->activate & FB_ACTIVATE_INV_MODE) {
		struct fb_videomode mode1, mode2;
@@ -682,7 +682,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
			    !list_empty(&info->modelist))
				err = fb_add_videomode(&mode, &info->modelist);

			if (!err && info->flags & FBINFO_MISC_USEREVENT) {
			if (!err && (flags & FBINFO_MISC_USEREVENT)) {
				struct fb_event event;

				info->flags &= ~FBINFO_MISC_USEREVENT;
+27 −23
Original line number Diff line number Diff line
@@ -583,23 +583,6 @@ intelfb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
		return -ENODEV;
	}

	/* Map the fb and MMIO regions */
	dinfo->aperture.virtual = (u8 __iomem *)ioremap_nocache
		(dinfo->aperture.physical, dinfo->aperture.size);
	if (!dinfo->aperture.virtual) {
		ERR_MSG("Cannot remap FB region.\n");
		cleanup(dinfo);
		return -ENODEV;
	}
	dinfo->mmio_base =
		(u8 __iomem *)ioremap_nocache(dinfo->mmio_base_phys,
					       INTEL_REG_SIZE);
	if (!dinfo->mmio_base) {
		ERR_MSG("Cannot remap MMIO region.\n");
		cleanup(dinfo);
		return -ENODEV;
	}

	/* Get the chipset info. */
	dinfo->pci_chipset = pdev->device;

@@ -630,9 +613,15 @@ intelfb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
		dinfo->accel = 0;
	}

	if (MB(voffset) < stolen_size)
		offset = (stolen_size >> 12);
	else
		offset = ROUND_UP_TO_PAGE(MB(voffset))/GTT_PAGE_SIZE;

	/* Framebuffer parameters - Use all the stolen memory if >= vram */
	if (ROUND_UP_TO_PAGE(stolen_size) >= MB(vram)) {
	if (ROUND_UP_TO_PAGE(stolen_size) >= ((offset << 12) +  MB(vram))) {
		dinfo->fb.size = ROUND_UP_TO_PAGE(stolen_size);
		dinfo->fb.offset = 0;
		dinfo->fbmem_gart = 0;
	} else {
		dinfo->fb.size =  MB(vram);
@@ -663,11 +652,6 @@ intelfb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
		return -ENODEV;
	}

	if (MB(voffset) < stolen_size)
		offset = (stolen_size >> 12);
	else
		offset = ROUND_UP_TO_PAGE(MB(voffset))/GTT_PAGE_SIZE;

	/* set the mem offsets - set them after the already used pages */
	if (dinfo->accel) {
		dinfo->ring.offset = offset + gtt_info.current_memory;
@@ -682,6 +666,26 @@ intelfb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
			+ (dinfo->cursor.size >> 12);
	}

	/* Map the fb and MMIO regions */
	/* ioremap only up to the end of used aperture */
	dinfo->aperture.virtual = (u8 __iomem *)ioremap_nocache
		(dinfo->aperture.physical, (dinfo->fb.offset << 12)
		 + dinfo->fb.size);
	if (!dinfo->aperture.virtual) {
		ERR_MSG("Cannot remap FB region.\n");
		cleanup(dinfo);
		return -ENODEV;
	}

	dinfo->mmio_base =
		(u8 __iomem *)ioremap_nocache(dinfo->mmio_base_phys,
					       INTEL_REG_SIZE);
	if (!dinfo->mmio_base) {
		ERR_MSG("Cannot remap MMIO region.\n");
		cleanup(dinfo);
		return -ENODEV;
	}

	/* Allocate memories (which aren't stolen) */
	if (dinfo->accel) {
		if (!(dinfo->gtt_ring_mem =
+1 −1
Original line number Diff line number Diff line
@@ -402,7 +402,7 @@ static struct inotify_watch *create_watch(struct inotify_device *dev,
		return ERR_PTR(ret);
	}

	dev->last_wd = ret;
	dev->last_wd = watch->wd;
	watch->mask = mask;
	atomic_set(&watch->count, 0);
	INIT_LIST_HEAD(&watch->d_list);
+2 −1
Original line number Diff line number Diff line
@@ -2216,7 +2216,8 @@ int vfs_rename(struct inode *old_dir, struct dentry *old_dentry,
		error = vfs_rename_other(old_dir,old_dentry,new_dir,new_dentry);
	if (!error) {
		const char *new_name = old_dentry->d_name.name;
		fsnotify_move(old_dir, new_dir, old_name, new_name, is_dir, new_dentry->d_inode);
		fsnotify_move(old_dir, new_dir, old_name, new_name, is_dir,
			      new_dentry->d_inode, old_dentry->d_inode);
	}
	fsnotify_oldname_free(old_name);

+5 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
 */
static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir,
				 const char *old_name, const char *new_name,
				 int isdir, struct inode *target)
				 int isdir, struct inode *target, struct inode *source)
{
	u32 cookie = inotify_get_cookie();

@@ -41,6 +41,10 @@ static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir,
		inotify_inode_queue_event(target, IN_DELETE_SELF, 0, NULL);
		inotify_inode_is_dead(target);
	}

	if (source) {
		inotify_inode_queue_event(source, IN_MOVE_SELF, 0, NULL);
	}
}

/*
Loading