various fgx drivers: fix cloning accelerants, allow for modelist cloning.

This commit is contained in:
Rudolf Cornelissen 2022-03-13 00:18:09 +00:00
parent 77034a15f8
commit eb2b376271
6 changed files with 10 additions and 6 deletions

View File

@ -522,7 +522,7 @@ create_display_modes(const char* name, edid1_info* edid,
& ~(B_PAGE_SIZE - 1);
display_mode *list;
area_id area = create_area(name, (void **)&list, B_ANY_ADDRESS,
size, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA);
size, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA | B_CLONEABLE_AREA);
if (area < B_OK)
return area;

View File

@ -488,7 +488,8 @@ status_t create_mode_list(void) {
max_size = (((MODE_COUNT * 4) * sizeof(display_mode)) + (B_PAGE_SIZE-1)) & ~(B_PAGE_SIZE-1);
/* create an area to hold the info */
si->mode_area = my_mode_list_area =
create_area("MGA accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA);
create_area("MGA accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size,
B_NO_LOCK, B_READ_AREA | B_WRITE_AREA | B_CLONEABLE_AREA);
if (my_mode_list_area < B_OK) return my_mode_list_area;
/* walk through our predefined list and see which modes fit this device */

View File

@ -356,7 +356,8 @@ status_t create_mode_list(void) {
max_size = (((MODE_COUNT * 4) * sizeof(display_mode)) + (B_PAGE_SIZE-1)) & ~(B_PAGE_SIZE-1);
/* create an area to hold the info */
si->mode_area = my_mode_list_area =
create_area("nm accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA);
create_area("nm accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size,
B_NO_LOCK, B_READ_AREA | B_WRITE_AREA | B_CLONEABLE_AREA);
if (my_mode_list_area < B_OK) return my_mode_list_area;
/* walk through our predefined list and see which modes fit this device */

View File

@ -632,7 +632,7 @@ create_mode_list(void)
/* create an area to hold the info */
si->mode_area = my_mode_list_area = create_area("NV accelerant mode info",
(void **)&my_mode_list, B_ANY_ADDRESS, max_size, B_NO_LOCK,
B_READ_AREA | B_WRITE_AREA);
B_READ_AREA | B_WRITE_AREA | B_CLONEABLE_AREA);
if (my_mode_list_area < B_OK)
return my_mode_list_area;

View File

@ -538,7 +538,8 @@ status_t create_mode_list(void)
max_size = (((MODE_COUNT * 4) * sizeof(display_mode)) + (B_PAGE_SIZE-1)) & ~(B_PAGE_SIZE-1);
/* create an area to hold the info */
si->mode_area = my_mode_list_area =
create_area("NV accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA);
create_area("NV accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size,
B_NO_LOCK, B_READ_AREA | B_WRITE_AREA | B_CLONEABLE_AREA);
if (my_mode_list_area < B_OK) return my_mode_list_area;
/* walk through our predefined list and see which modes fit this device */

View File

@ -540,7 +540,8 @@ status_t create_mode_list(void)
max_size = (((MODE_COUNT * 4) * sizeof(display_mode)) + (B_PAGE_SIZE-1)) & ~(B_PAGE_SIZE-1);
/* create an area to hold the info */
si->mode_area = my_mode_list_area =
create_area("NV accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA);
create_area("NV accelerant mode info", (void **)&my_mode_list, B_ANY_ADDRESS, max_size,
B_NO_LOCK, B_READ_AREA | B_WRITE_AREA | B_CLONEABLE_AREA);
if (my_mode_list_area < B_OK) return my_mode_list_area;
/* walk through our predefined list and see which modes fit this device */